2025-12-09 15:50:54 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
# This script will initialize the gradle build process for all subprojects in src dicetory
|
|
|
|
|
|
2025-12-10 10:38:43 +01:00
|
|
|
# Check for a build mode argument
|
|
|
|
|
|
2025-12-10 11:29:28 +01:00
|
|
|
echo "Find Java and Android SDK paths"
|
|
|
|
|
|
|
|
|
|
echo "JAVA_HOME before: $JAVA_HOME"
|
|
|
|
|
echo "Finding javac path... $(which javac)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))
|
2025-12-10 11:20:44 +01:00
|
|
|
export ANDROID_HOME='/opt/android-sdk'
|
|
|
|
|
export PATH="${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin"
|
|
|
|
|
export PATH="${PATH}:${ANDROID_HOME}/platform-tools"
|
|
|
|
|
|
2025-12-10 11:29:28 +01:00
|
|
|
|
2025-12-10 10:38:43 +01:00
|
|
|
if [ "$1" == "clean" ]; then
|
2025-12-10 11:59:06 +01:00
|
|
|
BUILD_MODE="clean assembleRelease"
|
2025-12-10 10:39:53 +01:00
|
|
|
BUILD_LOGGING=""
|
2025-12-10 10:38:43 +01:00
|
|
|
else
|
|
|
|
|
BUILD_MODE="assembleDebug"
|
2025-12-10 10:39:53 +01:00
|
|
|
BUILD_LOGGING="--warning-mode all"
|
2025-12-10 10:38:43 +01:00
|
|
|
fi
|
|
|
|
|
|
2025-12-09 17:36:31 +01:00
|
|
|
# check if user is root and change user to builder
|
|
|
|
|
|
|
|
|
|
if [ "$EUID" -eq 0 ]; then
|
|
|
|
|
echo "Please do not run this script as root."
|
|
|
|
|
BUILD_USER="builder"
|
|
|
|
|
else
|
|
|
|
|
BUILD_USER="$USER"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
source /home/$BUILD_USER/.bashrc
|
|
|
|
|
|
2025-12-09 17:45:15 +01:00
|
|
|
yes | /opt/android-sdk/cmdline-tools/latest/bin/sdkmanager --licenses
|
|
|
|
|
|
2025-12-09 15:50:54 +01:00
|
|
|
# Find all src subdirectories containing a build.gradle file
|
|
|
|
|
for dir in src/*/; do
|
|
|
|
|
if [ -f "$dir/build.gradle" ]; then
|
|
|
|
|
echo "Building project in $dir"
|
2025-12-10 11:05:14 +01:00
|
|
|
gradle --stop
|
2025-12-10 10:39:53 +01:00
|
|
|
(cd "$dir" && gradle clean $BUILD_MODE $BUILD_LOGGING)
|
2025-12-09 15:50:54 +01:00
|
|
|
else
|
|
|
|
|
echo "No build.gradle found in $dir, skipping."
|
|
|
|
|
fi
|
|
|
|
|
done
|