#!/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}"