43 lines
1.5 KiB
Bash
43 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
# Warm Gradle cache for Tauri Android buildSrc during Docker image build.
|
|
set -euo pipefail
|
|
|
|
cd /workspace/tauri_app
|
|
|
|
export ANDROID_HOME="${ANDROID_HOME:-/opt/android-sdk}"
|
|
export ANDROID_SDK_ROOT="${ANDROID_SDK_ROOT:-${ANDROID_HOME}}"
|
|
export GRADLE_USER_HOME="${GRADLE_USER_HOME:-/root/.gradle}"
|
|
export ANDROID_AGP_LOCAL_REPO="${ANDROID_AGP_LOCAL_REPO:-/opt/android-agp-maven}"
|
|
|
|
if [ -z "${ANDROID_NDK_HOME:-}" ]; then
|
|
NDK_DIR="$(find "${ANDROID_HOME}/ndk" -mindepth 1 -maxdepth 1 -type d 2>/dev/null | sort -V | tail -n 1 || true)"
|
|
[ -n "${NDK_DIR}" ] && export ANDROID_NDK_HOME="${NDK_DIR}" && export NDK_HOME="${NDK_DIR}"
|
|
fi
|
|
|
|
npm run build
|
|
rm -rf src-tauri/gen/android
|
|
npm run android:init -- --ci
|
|
|
|
/workspace/tauri_app/docker/patch-android-gradle-repos.sh /workspace/tauri_app/src-tauri/gen/android
|
|
|
|
ANDROID_GEN="/workspace/tauri_app/src-tauri/gen/android"
|
|
if [ ! -f "${ANDROID_GEN}/tauri.settings.gradle" ]; then
|
|
echo '// Gradle warmup stub; Tauri overwrites this during android build' > "${ANDROID_GEN}/tauri.settings.gradle"
|
|
fi
|
|
if [ ! -f "${ANDROID_GEN}/app/tauri.build.gradle.kts" ]; then
|
|
echo '// Gradle warmup stub; Tauri overwrites this during android build' > "${ANDROID_GEN}/app/tauri.build.gradle.kts"
|
|
fi
|
|
|
|
cd "${ANDROID_GEN}"
|
|
set +e
|
|
./gradlew :buildSrc:compileKotlin --no-daemon --stacktrace
|
|
GRADLE_EXIT=$?
|
|
set -e
|
|
|
|
if [ -d "${GRADLE_USER_HOME}/caches/modules-2/files-2.1/com.android.tools.build/gradle/8.11.0" ]; then
|
|
echo "==> Android Gradle Plugin cached in ${GRADLE_USER_HOME}"
|
|
exit 0
|
|
fi
|
|
|
|
exit "${GRADLE_EXIT}"
|