Browse Source

Merge pull request #3008 from element-hq/feature/bma/shellCheck

Shell check
pull/3017/head
Benoit Marty 3 months ago committed by GitHub
parent
commit
3e04870abb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 13
      .github/workflows/quality.yml
  2. 8
      tools/check/check_code_quality.sh
  3. 8
      tools/docs/generateModuleGraph.sh
  4. 4
      tools/localazy/downloadStrings.sh
  5. 136
      tools/release/release.sh
  6. 36
      tools/rte/build_rte.sh
  7. 20
      tools/sdk/build_rust_sdk.sh
  8. 4
      tools/templates/generate_templates.sh

13
.github/workflows/quality.yml

@ -187,6 +187,19 @@ jobs: @@ -187,6 +187,19 @@ jobs:
- name: Run Knit
run: ./gradlew knitCheck $CI_GRADLE_ARG_PROPERTIES
# Note: to auto fix issues you can use the following command:
# shellcheck -f diff <files> | git apply
shellcheck:
name: Check shell scripts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run shellcheck
uses: ludeeus/action-shellcheck@2.0.0
with:
scandir: ./tools
severity: warning
upload_reports:
name: Project Check Suite
runs-on: ubuntu-latest

8
tools/check/check_code_quality.sh

@ -41,9 +41,9 @@ echo @@ -41,9 +41,9 @@ echo
echo "Search for forbidden patterns in Kotlin source files..."
# list all Kotlin folders of the project.
allKotlinDirs=`find . -type d |grep -v build |grep -v \.git |grep -v \.gradle |grep kotlin$`
allKotlinDirs=$(find . -type d |grep -v build |grep -v \.git |grep -v \.gradle |grep kotlin$)
${searchForbiddenStringsScript} ./tools/check/forbidden_strings_in_code.txt $allKotlinDirs
${searchForbiddenStringsScript} ./tools/check/forbidden_strings_in_code.txt "$allKotlinDirs"
resultForbiddenStringInCode=$?
@ -51,9 +51,9 @@ echo @@ -51,9 +51,9 @@ echo
echo "Search for forbidden patterns in XML resource files..."
# list all res folders of the project.
allResDirs=`find . -type d |grep -v build |grep -v \.git |grep -v \.gradle |grep /res$`
allResDirs=$(find . -type d |grep -v build |grep -v \.git |grep -v \.gradle |grep /res$)
${searchForbiddenStringsScript} ./tools/check/forbidden_strings_in_xml.txt $allResDirs
${searchForbiddenStringsScript} ./tools/check/forbidden_strings_in_xml.txt "$allResDirs"
resultForbiddenStringInXml=$?

8
tools/docs/generateModuleGraph.sh

@ -17,7 +17,7 @@ @@ -17,7 +17,7 @@
#
## Dependency graph https://github.com/savvasdalkitsis/module-dependency-graph
dotPath=`pwd`/docs/images/module_graph.dot
pngPath=`pwd`/docs/images/module_graph.png
./gradlew graphModules -PdotFilePath=${dotPath} -PgraphOutputFilePath=${pngPath} -PautoOpenGraph=false
rm ${dotPath}
dotPath=$(pwd)/docs/images/module_graph.dot
pngPath=$(pwd)/docs/images/module_graph.png
./gradlew graphModules -PdotFilePath="${dotPath}" -PgraphOutputFilePath="${pngPath}" -PautoOpenGraph=false
rm "${dotPath}"

4
tools/localazy/downloadStrings.sh

@ -51,10 +51,10 @@ fi @@ -51,10 +51,10 @@ fi
set +e
echo "Moving files from values-id to values-in..."
find . -type d -name 'values-id' -execdir mv {}/translations.xml {}/../values-in/translations.xml 2> /dev/null \;
find . -type d -name 'values-id' -execdir mv {}/translations.xml {}/../values-in/translations.xml \; 2> /dev/null
echo "Deleting all the folders values-id..."
find . -type d -name 'values-id' -exec rm -rf {} 2> /dev/null \;
find . -type d -name 'values-id' -exec rm -rf {} \; 2> /dev/null
set -e
echo "Checking forbidden terms..."

136
tools/release/release.sh

@ -83,7 +83,7 @@ if [[ ! -d ${buildToolsPath} ]]; then @@ -83,7 +83,7 @@ if [[ ! -d ${buildToolsPath} ]]; then
fi
# Check if git flow is enabled
gitFlowDevelop=`git config gitflow.branch.develop`
gitFlowDevelop=$(git config gitflow.branch.develop)
if [[ ${gitFlowDevelop} != "" ]]
then
printf "Git flow is initialized\n"
@ -105,23 +105,23 @@ git pull @@ -105,23 +105,23 @@ git pull
printf "\n================================================================================\n"
# Guessing version to propose a default version
versionsFile="./plugins/src/main/kotlin/Versions.kt"
versionMajorCandidate=`grep "val versionMajor" ${versionsFile} | cut -d " " -f6`
versionMinorCandidate=`grep "val versionMinor" ${versionsFile} | cut -d " " -f6`
versionPatchCandidate=`grep "val versionPatch" ${versionsFile} | cut -d " " -f6`
versionMajorCandidate=$(grep "val versionMajor" ${versionsFile} | cut -d " " -f6)
versionMinorCandidate=$(grep "val versionMinor" ${versionsFile} | cut -d " " -f6)
versionPatchCandidate=$(grep "val versionPatch" ${versionsFile} | cut -d " " -f6)
versionCandidate="${versionMajorCandidate}.${versionMinorCandidate}.${versionPatchCandidate}"
read -p "Please enter the release version (example: ${versionCandidate}). Just press enter if ${versionCandidate} is correct. " version
version=${version:-${versionCandidate}}
# extract major, minor and patch for future use
versionMajor=`echo ${version} | cut -d "." -f1`
versionMinor=`echo ${version} | cut -d "." -f2`
versionPatch=`echo ${version} | cut -d "." -f3`
versionMajor=$(echo "${version}" | cut -d "." -f1)
versionMinor=$(echo "${version}" | cut -d "." -f2)
versionPatch=$(echo "${version}" | cut -d "." -f3)
nextPatchVersion=$((versionPatch + 1))
printf "\n================================================================================\n"
printf "Starting the release ${version}\n"
git flow release start ${version}
git flow release start "${version}"
# Note: in case the release is already started and the script is started again, checkout the release branch again.
ret=$?
@ -154,15 +154,15 @@ git commit -a -m "Changelog for version ${version}" @@ -154,15 +154,15 @@ git commit -a -m "Changelog for version ${version}"
printf "\n================================================================================\n"
printf "Creating fastlane file...\n"
printf -v versionMajor2Digits "%02d" ${versionMajor}
printf -v versionMinor2Digits "%02d" ${versionMinor}
printf -v versionPatch2Digits "%02d" ${versionPatch}
printf -v versionMajor2Digits "%02d" "${versionMajor}"
printf -v versionMinor2Digits "%02d" "${versionMinor}"
printf -v versionPatch2Digits "%02d" "${versionPatch}"
fastlaneFile="4${versionMajor2Digits}${versionMinor2Digits}${versionPatch2Digits}0.txt"
fastlanePathFile="./fastlane/metadata/android/en-US/changelogs/${fastlaneFile}"
printf "Main changes in this version: TODO.\nFull changelog: https://github.com/element-hq/element-x-android/releases" > ${fastlanePathFile}
printf "Main changes in this version: TODO.\nFull changelog: https://github.com/element-hq/element-x-android/releases" > "${fastlanePathFile}"
read -p "I have created the file ${fastlanePathFile}, please edit it and press enter to continue. "
git add ${fastlanePathFile}
git add "${fastlanePathFile}"
git commit -a -m "Adding fastlane file for version ${version}"
printf "\n================================================================================\n"
@ -173,7 +173,7 @@ printf "\n====================================================================== @@ -173,7 +173,7 @@ printf "\n======================================================================
read -p "Done, push the branch 'main' and the new tag (yes/no) default to yes? " doPush
doPush=${doPush:-yes}
if [ ${doPush} == "yes" ]; then
if [ "${doPush}" == "yes" ]; then
printf "Pushing branch 'main' and tag 'v${version}'...\n"
git push origin main
git push origin "v${version}"
@ -202,7 +202,7 @@ printf "\n====================================================================== @@ -202,7 +202,7 @@ printf "\n======================================================================
read -p "Done, push the branch 'develop' (yes/no) default to yes? (A rebase may be necessary in case develop got new commits) " doPush
doPush=${doPush:-yes}
if [ ${doPush} == "yes" ]; then
if [ "${doPush}" == "yes" ]; then
printf "Pushing branch 'develop'...\n"
git push origin develop
else
@ -220,74 +220,74 @@ printf "\n====================================================================== @@ -220,74 +220,74 @@ printf "\n======================================================================
printf "Downloading the artifacts...\n"
python3 ./tools/github/download_all_github_artifacts.py \
--token ${gitHubToken} \
--runUrl ${runUrl} \
--directory ${targetPath}
--token "${gitHubToken}" \
--runUrl "${runUrl}" \
--directory "${targetPath}"
printf "\n================================================================================\n"
printf "Unzipping the F-Droid artifact...\n"
fdroidTargetPath="${targetPath}/fdroid"
unzip ${targetPath}/elementx-app-fdroid-apks-unsigned.zip -d ${fdroidTargetPath}
unzip "${targetPath}"/elementx-app-fdroid-apks-unsigned.zip -d "${fdroidTargetPath}"
printf "\n================================================================================\n"
printf "Signing the FDroid APKs...\n"
cp ${fdroidTargetPath}/app-fdroid-arm64-v8a-release.apk \
${fdroidTargetPath}/app-fdroid-arm64-v8a-release-signed.apk
${buildToolsPath}/apksigner sign \
cp "${fdroidTargetPath}"/app-fdroid-arm64-v8a-release.apk \
"${fdroidTargetPath}"/app-fdroid-arm64-v8a-release-signed.apk
"${buildToolsPath}"/apksigner sign \
-v \
--ks ${keyStorePath} \
--ks-pass pass:${keyStorePassword} \
--ks "${keyStorePath}" \
--ks-pass pass:"${keyStorePassword}" \
--ks-key-alias elementx \
--key-pass pass:${keyPassword} \
--key-pass pass:"${keyPassword}" \
--min-sdk-version ${minSdkVersion} \
${fdroidTargetPath}/app-fdroid-arm64-v8a-release-signed.apk
"${fdroidTargetPath}"/app-fdroid-arm64-v8a-release-signed.apk
cp ${fdroidTargetPath}/app-fdroid-armeabi-v7a-release.apk \
${fdroidTargetPath}/app-fdroid-armeabi-v7a-release-signed.apk
${buildToolsPath}/apksigner sign \
cp "${fdroidTargetPath}"/app-fdroid-armeabi-v7a-release.apk \
"${fdroidTargetPath}"/app-fdroid-armeabi-v7a-release-signed.apk
"${buildToolsPath}"/apksigner sign \
-v \
--ks ${keyStorePath} \
--ks-pass pass:${keyStorePassword} \
--ks "${keyStorePath}" \
--ks-pass pass:"${keyStorePassword}" \
--ks-key-alias elementx \
--key-pass pass:${keyPassword} \
--key-pass pass:"${keyPassword}" \
--min-sdk-version ${minSdkVersion} \
${fdroidTargetPath}/app-fdroid-armeabi-v7a-release-signed.apk
"${fdroidTargetPath}"/app-fdroid-armeabi-v7a-release-signed.apk
cp ${fdroidTargetPath}/app-fdroid-x86-release.apk \
${fdroidTargetPath}/app-fdroid-x86-release-signed.apk
${buildToolsPath}/apksigner sign \
cp "${fdroidTargetPath}"/app-fdroid-x86-release.apk \
"${fdroidTargetPath}"/app-fdroid-x86-release-signed.apk
"${buildToolsPath}"/apksigner sign \
-v \
--ks ${keyStorePath} \
--ks-pass pass:${keyStorePassword} \
--ks "${keyStorePath}" \
--ks-pass pass:"${keyStorePassword}" \
--ks-key-alias elementx \
--key-pass pass:${keyPassword} \
--key-pass pass:"${keyPassword}" \
--min-sdk-version ${minSdkVersion} \
${fdroidTargetPath}/app-fdroid-x86-release-signed.apk
"${fdroidTargetPath}"/app-fdroid-x86-release-signed.apk
cp ${fdroidTargetPath}/app-fdroid-x86_64-release.apk \
${fdroidTargetPath}/app-fdroid-x86_64-release-signed.apk
${buildToolsPath}/apksigner sign \
cp "${fdroidTargetPath}"/app-fdroid-x86_64-release.apk \
"${fdroidTargetPath}"/app-fdroid-x86_64-release-signed.apk
"${buildToolsPath}"/apksigner sign \
-v \
--ks ${keyStorePath} \
--ks-pass pass:${keyStorePassword} \
--ks "${keyStorePath}" \
--ks-pass pass:"${keyStorePassword}" \
--ks-key-alias elementx \
--key-pass pass:${keyPassword} \
--key-pass pass:"${keyPassword}" \
--min-sdk-version ${minSdkVersion} \
${fdroidTargetPath}/app-fdroid-x86_64-release-signed.apk
"${fdroidTargetPath}"/app-fdroid-x86_64-release-signed.apk
printf "\n================================================================================\n"
printf "Please check the information below:\n"
printf "File app-fdroid-arm64-v8a-release-signed.apk:\n"
${buildToolsPath}/aapt dump badging ${fdroidTargetPath}/app-fdroid-arm64-v8a-release-signed.apk | grep package
"${buildToolsPath}"/aapt dump badging "${fdroidTargetPath}"/app-fdroid-arm64-v8a-release-signed.apk | grep package
printf "File app-fdroid-armeabi-v7a-release-signed.apk:\n"
${buildToolsPath}/aapt dump badging ${fdroidTargetPath}/app-fdroid-armeabi-v7a-release-signed.apk | grep package
"${buildToolsPath}"/aapt dump badging "${fdroidTargetPath}"/app-fdroid-armeabi-v7a-release-signed.apk | grep package
printf "File app-fdroid-x86-release-signed.apk:\n"
${buildToolsPath}/aapt dump badging ${fdroidTargetPath}/app-fdroid-x86-release-signed.apk | grep package
"${buildToolsPath}"/aapt dump badging "${fdroidTargetPath}"/app-fdroid-x86-release-signed.apk | grep package
printf "File app-fdroid-x86_64-release-signed.apk:\n"
${buildToolsPath}/aapt dump badging ${fdroidTargetPath}/app-fdroid-x86_64-release-signed.apk | grep package
"${buildToolsPath}"/aapt dump badging "${fdroidTargetPath}"/app-fdroid-x86_64-release-signed.apk | grep package
printf "\n"
read -p "Does it look correct? Press enter when it's done."
@ -299,7 +299,7 @@ printf "\n====================================================================== @@ -299,7 +299,7 @@ printf "\n======================================================================
printf "Unzipping the Gplay artifact...\n"
gplayTargetPath="${targetPath}/gplay"
unzip ${targetPath}/elementx-app-gplay-bundle-unsigned.zip -d ${gplayTargetPath}
unzip "${targetPath}"/elementx-app-gplay-bundle-unsigned.zip -d "${gplayTargetPath}"
unsignedBundlePath="${gplayTargetPath}/app-gplay-release.aab"
signedBundlePath="${gplayTargetPath}/app-gplay-release-signed.aab"
@ -307,24 +307,24 @@ signedBundlePath="${gplayTargetPath}/app-gplay-release-signed.aab" @@ -307,24 +307,24 @@ signedBundlePath="${gplayTargetPath}/app-gplay-release-signed.aab"
printf "\n================================================================================\n"
printf "Signing file ${unsignedBundlePath} with build-tools version ${buildToolsVersion} for min SDK version ${minSdkVersion}...\n"
cp ${unsignedBundlePath} ${signedBundlePath}
cp "${unsignedBundlePath}" "${signedBundlePath}"
${buildToolsPath}/apksigner sign \
"${buildToolsPath}"/apksigner sign \
-v \
--ks ${keyStorePath} \
--ks-pass pass:${keyStorePassword} \
--ks "${keyStorePath}" \
--ks-pass pass:"${keyStorePassword}" \
--ks-key-alias elementx \
--key-pass pass:${keyPassword} \
--key-pass pass:"${keyPassword}" \
--min-sdk-version ${minSdkVersion} \
${signedBundlePath}
"${signedBundlePath}"
printf "\n================================================================================\n"
printf "Please check the information below:\n"
printf "Version code: "
bundletool dump manifest --bundle=${signedBundlePath} --xpath=/manifest/@android:versionCode
bundletool dump manifest --bundle="${signedBundlePath}" --xpath=/manifest/@android:versionCode
printf "Version name: "
bundletool dump manifest --bundle=${signedBundlePath} --xpath=/manifest/@android:versionName
bundletool dump manifest --bundle="${signedBundlePath}" --xpath=/manifest/@android:versionName
printf "\n"
read -p "Does it look correct? Press enter to continue. "
@ -336,17 +336,17 @@ printf "\n====================================================================== @@ -336,17 +336,17 @@ printf "\n======================================================================
read -p "Do you want to build the APKs from the app bundle? You need to do this step if you want to install the application to your device. (yes/no) default to yes " doBuildApks
doBuildApks=${doBuildApks:-yes}
if [ ${doBuildApks} == "yes" ]; then
if [ "${doBuildApks}" == "yes" ]; then
printf "Building apks...\n"
bundletool build-apks --bundle=${signedBundlePath} --output=${gplayTargetPath}/elementx.apks \
bundletool build-apks --bundle="${signedBundlePath}" --output="${gplayTargetPath}"/elementx.apks \
--ks=./app/signature/debug.keystore --ks-pass=pass:android --ks-key-alias=androiddebugkey --key-pass=pass:android \
--overwrite
read -p "Do you want to install the application to your device? Make sure there is one (and only one!) connected device first. (yes/no) default to yes " doDeploy
doDeploy=${doDeploy:-yes}
if [ ${doDeploy} == "yes" ]; then
if [ "${doDeploy}" == "yes" ]; then
printf "Installing apk for your device...\n"
bundletool install-apks --apks=${gplayTargetPath}/elementx.apks
bundletool install-apks --apks="${gplayTargetPath}"/elementx.apks
read -p "Please run the application on your phone to check that the upgrade went well. Press enter to continue. "
else
printf "APK will not be deployed!\n"
@ -373,7 +373,7 @@ printf "\n====================================================================== @@ -373,7 +373,7 @@ printf "\n======================================================================
body="%3C%21--%20Copy%20paste%20the%20section%20of%20the%20file%20CHANGES.md%20for%20this%20release%20here%20--%3E"
githubCreateReleaseLink="https://github.com/element-hq/element-x-android/releases/new?tag=v${version}&title=Element%20X%20Android%20v${version}&body=${body}"
printf "Creating the release on gitHub.\n"
printf -- "Open this link: %s\n" ${githubCreateReleaseLink}
printf -- "Open this link: %s\n" "${githubCreateReleaseLink}"
printf "Then\n"
printf " - copy paste the section of the file CHANGES.md for this release.\n"
printf " - click on the 'Generate releases notes' button.\n"
@ -392,12 +392,12 @@ if [[ -z "${elementBotToken}" ]]; then @@ -392,12 +392,12 @@ if [[ -z "${elementBotToken}" ]]; then
else
read -p "Send this message to the room (yes/no) default to yes? " doSend
doSend=${doSend:-yes}
if [ ${doSend} == "yes" ]; then
if [ "${doSend}" == "yes" ]; then
printf "Sending message...\n"
transactionId=`openssl rand -hex 16`
transactionId=$(openssl rand -hex 16)
# Element Android internal
matrixRoomId="!LiSLXinTDCsepePiYW:matrix.org"
curl -X PUT --data $"{\"msgtype\":\"m.text\",\"body\":\"${message}\"}" -H "Authorization: Bearer ${elementBotToken}" https://matrix-client.matrix.org/_matrix/client/r0/rooms/${matrixRoomId}/send/m.room.message/\$local.${transactionId}
curl -X PUT --data "{\"msgtype\":\"m.text\",\"body\":\"${message}\"}" -H "Authorization: Bearer ${elementBotToken}" https://matrix-client.matrix.org/_matrix/client/r0/rooms/${matrixRoomId}/send/m.room.message/\$local."${transactionId}"
else
printf "Message not sent, please send it manually!\n"
fi

36
tools/rte/build_rte.sh

@ -8,11 +8,11 @@ read -p "Do you want to build the RTE from local source (yes/no) default to yes? @@ -8,11 +8,11 @@ read -p "Do you want to build the RTE from local source (yes/no) default to yes?
buildLocal=${buildLocal:-yes}
date=$(gdate +%Y%m%d%H%M%S)
elementPwd=`pwd`
elementPwd=$(pwd)
# Ask for the RTE local source path
# if folder rte/ exists, use it as default
if [ ${buildLocal} == "yes" ]; then
if [ "${buildLocal}" == "yes" ]; then
read -p "Please enter the path to the Rust SDK local source, default to ../matrix-rich-text-editor: " rtePath
rtePath=${rtePath:-../matrix-rich-text-editor/}
if [ ! -d "${rtePath}" ]; then
@ -25,21 +25,21 @@ else @@ -25,21 +25,21 @@ else
read -p "Please enter the Rust SDK branch, default to main " rteBranch
rteBranch=${rteBranch:-main}
cd ..
git clone ${rteUrl} matrix-rich-text-editor-$date
cd matrix-rich-text-editor-$date
git checkout ${rteBranch}
git clone "${rteUrl}" matrix-rich-text-editor-"$date"
cd matrix-rich-text-editor-"$date"
git checkout "${rteBranch}"
rtePath=$(pwd)
cd ${elementPwd}
cd "${elementPwd}"
fi
cd ${rtePath}
cd "${rtePath}"
git status
read -p "Will build with this version of the RTE ^. Is it correct (yes/no) default to yes? " rteCorrect
rteCorrect=${rteCorrect:-yes}
if [ ${rteCorrect} != "yes" ]; then
if [ "${rteCorrect}" != "yes" ]; then
exit 0
fi
@ -47,31 +47,31 @@ fi @@ -47,31 +47,31 @@ fi
read -p "Do you want to build the app after (yes/no) default to yes? " buildApp
buildApp=${buildApp:-yes}
cd ${elementPwd}
cd "${elementPwd}"
cd $rtePath
cd "$rtePath"
printf "\nBuilding the RTE for aarch64...\n\n"
make android-bindings-aarch64
cd platforms/android
./gradlew clean :library:assembleRelease :library-compose:assembleRelease
cp ./library/build/outputs/aar/library-release.aar $elementPwd/libraries/textcomposer/lib/library.aar
cp ./library-compose/build/outputs/aar/library-compose-release.aar $elementPwd/libraries/textcomposer/lib/library-compose.aar
cp ./library/build/outputs/aar/library-release.aar "$elementPwd"/libraries/textcomposer/lib/library.aar
cp ./library-compose/build/outputs/aar/library-compose-release.aar "$elementPwd"/libraries/textcomposer/lib/library-compose.aar
cd ${elementPwd}
cd "${elementPwd}"
mkdir -p ./libraries/textcomposer/lib/versions
cp ./libraries/textcomposer/lib/library.aar ./libraries/textcomposer/lib/versions/library-${date}.aar
cp ./libraries/textcomposer/lib/library-compose.aar ./libraries/textcomposer/lib/versions/library-compose-${date}.aar
cp ./libraries/textcomposer/lib/library.aar ./libraries/textcomposer/lib/versions/library-"${date}".aar
cp ./libraries/textcomposer/lib/library-compose.aar ./libraries/textcomposer/lib/versions/library-compose-"${date}".aar
if [ ${buildApp} == "yes" ]; then
if [ "${buildApp}" == "yes" ]; then
printf "\nBuilding the application...\n\n"
./gradlew assembleDebug
fi
if [ ${buildLocal} == "no" ]; then
if [ "${buildLocal}" == "no" ]; then
printf "\nCleaning up...\n\n"
rm -rf ../matrix-rich-text-editor-$date
rm -rf ../matrix-rich-text-editor-"$date"
fi
printf "\nDone!\n"

20
tools/sdk/build_rust_sdk.sh

@ -8,11 +8,11 @@ read -p "Do you want to build the Rust SDK from local source (yes/no) default to @@ -8,11 +8,11 @@ read -p "Do you want to build the Rust SDK from local source (yes/no) default to
buildLocal=${buildLocal:-yes}
date=$(gdate +%Y%m%d%H%M%S)
elementPwd=`pwd`
elementPwd=$(pwd)
# Ask for the Rust SDK local source path
# if folder rustSdk/ exists, use it as default
if [ ${buildLocal} == "yes" ]; then
if [ "${buildLocal}" == "yes" ]; then
read -p "Please enter the path to the Rust SDK local source, default to ../matrix-rust-sdk" rustSdkPath
rustSdkPath=${rustSdkPath:-../matrix-rust-sdk/}
if [ ! -d "${rustSdkPath}" ]; then
@ -25,9 +25,9 @@ else @@ -25,9 +25,9 @@ else
read -p "Please enter the Rust SDK branch, default to main " rustSdkBranch
rustSdkBranch=${rustSdkBranch:-main}
cd ..
git clone ${rustSdkUrl} matrix-rust-sdk-$date
cd matrix-rust-sdk-$date
git checkout ${rustSdkBranch}
git clone "${rustSdkUrl}" matrix-rust-sdk-"$date"
cd matrix-rust-sdk-"$date"
git checkout "${rustSdkBranch}"
rustSdkPath=$(pwd)
cd "${elementPwd}"
fi
@ -39,7 +39,7 @@ git status @@ -39,7 +39,7 @@ git status
read -p "Will build with this version of the Rust SDK ^. Is it correct (yes/no) default to yes? " sdkCorrect
sdkCorrect=${sdkCorrect:-yes}
if [ ${sdkCorrect} != "yes" ]; then
if [ "${sdkCorrect}" != "yes" ]; then
exit 0
fi
@ -67,17 +67,17 @@ printf "\nBuilding the SDK for aarch64-linux-android...\n\n" @@ -67,17 +67,17 @@ printf "\nBuilding the SDK for aarch64-linux-android...\n\n"
cd "${elementPwd}"
mv ./libraries/rustsdk/sdk-android-debug.aar ./libraries/rustsdk/matrix-rust-sdk.aar
mkdir -p ./libraries/rustsdk/sdks
cp ./libraries/rustsdk/matrix-rust-sdk.aar ./libraries/rustsdk/sdks/matrix-rust-sdk-${date}.aar
cp ./libraries/rustsdk/matrix-rust-sdk.aar ./libraries/rustsdk/sdks/matrix-rust-sdk-"${date}".aar
if [ ${buildApp} == "yes" ]; then
if [ "${buildApp}" == "yes" ]; then
printf "\nBuilding the application...\n\n"
./gradlew assembleDebug
fi
if [ ${buildLocal} == "no" ]; then
if [ "${buildLocal}" == "no" ]; then
printf "\nCleaning up...\n\n"
rm -rf ../matrix-rust-sdk-$date
rm -rf ../matrix-rust-sdk-"$date"
fi
printf "\nDone!\n"

4
tools/templates/generate_templates.sh

@ -22,6 +22,6 @@ echo "Zipping the contents of the 'files' directory..." @@ -22,6 +22,6 @@ echo "Zipping the contents of the 'files' directory..."
mkdir -p tmp
rm -f ./tmp/file_templates.zip
pushd ./tools/templates/files
pushd ./tools/templates/files || exit
zip -r ../../../tmp/file_templates.zip .
popd
popd || exit

Loading…
Cancel
Save