Files
IdP/tauri_app/docker/warm-gradle-cache.sh
lendry 65abf17421 fix
2026-06-26 20:15:13 +03:00

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}"