Benoit Marty
11 months ago
committed by
Benoit Marty
1 changed files with 80 additions and 0 deletions
@ -0,0 +1,80 @@
@@ -0,0 +1,80 @@
|
||||
#!/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) |
||||
|
||||
# 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 ../element-x-android |
||||
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} |
||||
|
||||
# If folder ../matrix-rust-components-kotlin does not exist, close 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...\n\n" |
||||
./scripts/build.sh -p ${rustSdkPath} -m sdk -t aarch64-linux-android -o ../element-x-android/libraries/rustsdk |
||||
|
||||
cd ../element-x-android |
||||
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/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" |
Loading…
Reference in new issue