Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.8 KiB

#!/usr/bin/env bash
# Exit on error
set -e
# Ask to build from local source or to clone the repository
read -p "Do you want to build the Rust SDK from local source (yes/no) default to yes? " buildLocal
buildLocal=${buildLocal:-yes}
date=$(gdate +%Y%m%d%H%M%S)
elementPwd=`pwd`
# Ask for the Rust SDK local source path
# if folder rustSdk/ exists, use it as default
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
printf "\nFolder ${rustSdkPath} does not exist. Please clone the matrix-rust-sdk repository in the folder ../matrix-rust-sdk.\n\n"
exit 0
fi
else
read -p "Please enter the Rust SDK repository url, default to https://github.com/matrix-org/matrix-rust-sdk.git " rustSdkUrl
rustSdkUrl=${rustSdkUrl:-https://github.com/matrix-org/matrix-rust-sdk.git}
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}
rustSdkPath=$(pwd)
cd ${elementPwd}
fi
cd ${rustSdkPath}
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
exit 0
fi
# Ask if the user wants to build the app after
read -p "Do you want to build the app after (yes/no) default to yes? " buildApp
buildApp=${buildApp:-yes}
cd ${elementPwd}
# If folder ../matrix-rust-components-kotlin does not exist, clone the repo
if [ ! -d "../matrix-rust-components-kotlin" ]; then
printf "\nFolder ../matrix-rust-components-kotlin does not exist. Cloning the repository into ../matrix-rust-components-kotlin.\n\n"
git clone https://github.com/matrix-org/matrix-rust-components-kotlin.git ../matrix-rust-components-kotlin
fi
printf "\nResetting matrix-rust-components-kotlin to the latest main branch...\n\n"
cd ../matrix-rust-components-kotlin
git reset --hard
git checkout main
git pull
printf "\nBuilding the SDK for aarch64-linux-android...\n\n"
./scripts/build.sh -p ${rustSdkPath} -m sdk -t aarch64-linux-android -o ${elementPwd}/libraries/rustsdk
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
if [ ${buildApp} == "yes" ]; then
printf "\nBuilding the application...\n\n"
./gradlew assembleDebug
fi
if [ ${buildLocal} == "no" ]; then
printf "\nCleaning up...\n\n"
rm -rf ../matrix-rust-sdk-$date
fi
printf "\nDone!\n"