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.
77 lines
2.6 KiB
77 lines
2.6 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 RTE 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 RTE local source path |
|
# if folder rte/ exists, use it as default |
|
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 |
|
printf "\nFolder ${rtePath} does not exist. Please clone the matrix-rich-text-editor repository in the folder ../matrix-rich-text-editor.\n\n" |
|
exit 0 |
|
fi |
|
else |
|
read -p "Please enter the RTE repository url, default to https://github.com/matrix-org/matrix-rich-text-editor.git " rteUrl |
|
rteUrl=${rteUrl:-https://github.com/matrix-org/matrix-rich-text-editor.git} |
|
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}" |
|
rtePath=$(pwd) |
|
cd "${elementPwd}" |
|
fi |
|
|
|
|
|
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 |
|
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}" |
|
|
|
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 |
|
|
|
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 |
|
|
|
|
|
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-rich-text-editor-"$date" |
|
fi |
|
|
|
printf "\nDone!\n"
|
|
|