Hi Team,
I am able to setup the Android client project but I am facing issue in setting Android SDK project.
I am unable to generate JAR files after following below procedure which is from Rocket chat documentation.
Change the current directory to Rocket.Chat.Android/app
and run the build-sdk.sh
Error Occurrence:
1)When I run the build-sdk.sh command it will open notepad with below data in it
#!/bin/bash
CURRENT_DIR=(pwd) GIT=(which git)
if [ “$#” -eq 1 ] && [ ! -z “1" ]; then
# if in an argument is given this is the (relative) path to SDK_DIR
SDK_DIR=(readlink -f 1)
else
# The SDK dir should be 2 directories up in the tree, so we use dirname 2 times
# to get the common parent dir of the SDK and the app
cd ../..
tmp=(pwd)
SDK_DIR=”tmp/Rocket.Chat.Kotlin.SDK"
cd "{CURRENT_DIR}"
fi
echo “CURRENT DIR: $CURRENT_DIR”
echo “SDK DIR: $SDK_DIR”
check if there are changes not committed
function git_stat {
local resultVar=1
cd "{SDK_DIR}" && “{GIT}" diff --shortstat --exit-code
eval {resultVar}=”’$?’"
}
check for changes already on the index not committed
function git_stat_cached {
local resultVar=1
cd "{SDK_DIR}" && “{GIT}" diff --cached --shortstat --exit-code
eval {resultVar}=”’$?’"
}
get the SHA of the latest commit
function git_sha {
temp_sha=(cd "{SDK_DIR}" && “${GIT}” rev-parse --short HEAD)
echo “$temp_sha”
}
function git_app_branch {
temp_branch=(cd "{CURRENT_DIR}" && “${GIT}” rev-parse --abbrev-ref HEAD)
echo “$temp_branch”
}
check if the tree is dirty (has modifications not committed yet)
function check_git_dirty {
git_stat stat
git_stat_cached cached
if [ ${stat} -eq 0 ] && [ ${cached} -eq 0 ]; then
echo "not dirty"
return 1
else
echo "is dirty"
return 0
fi
}
check if the saved last commit is the same as the latest SHA in the tree
function check_last_commit {
if [ ! -f {SDK_DIR}/.last_commit_hash ]; then
echo "last_commit_hash not found"
return 0
fi
saved_hash=(cat "{SDK_DIR}"/.last_commit_hash)
last_hash=(git_sha)
#cd $SDK_DIR && git rev-parse --short HEAD
if [ “$saved_hash” == “$last_hash” ]; then
echo “same hash as before $saved_hash = $last_hash”
return 1
fi
echo "different commits, build again"
return 0
}
function checkout_matching_branch {
app_branch=(git_app_branch)
cd "{SDK_DIR}" && “{GIT}" checkout "{app_branch}” 1>/dev/null 2>/dev/null
}
checkout_matching_branch
SHA=$(git_sha)
if [ “X$SHA” == “X” ]; then
SHA=“0.1-SNAPSHOT”
fi
echo “CURRENT SHA: $SHA”
if the tree is not dirty, there is no new commit and the .jars are still there, just skip the build
if ! check_git_dirty && ! check_last_commit && [ -f “{CURRENT_DIR}"/libs/common-"{SHA}”.jar ] && [ -f “{CURRENT_DIR}"/libs/core-"{SHA}”.jar ]; then
echo “NO BUILD NEEDED”
exit 0
fi
cd “{SDK_DIR}" && ./gradlew --no-daemon common:assemble && cd "{CURRENT_DIR}”
cd “{SDK_DIR}" && ./gradlew --no-daemon core:assemble && cd "{CURRENT_DIR}”
rm “{CURRENT_DIR}"/libs/common* "{CURRENT_DIR}”/libs/core*
mkdir -p “{CURRENT_DIR}"/libs/
cp -v "{SDK_DIR}”/common/build/libs/common-0.1-SNAPSHOT.jar “{CURRENT_DIR}"/libs/common-"{SHA}”.jar
cp -v “{SDK_DIR}"/core/build/libs/core-0.1-SNAPSHOT.jar "{CURRENT_DIR}”/libs/core-"${SHA}".jar
echo “SHA" > "{SDK_DIR}”/.last_commit_hash
exit 0