Bundle AndroidX, Kotlin Gradle plugin, and SDK patch scripts so Gradle no longer needs Google Maven at runtime. Bake Gradle wrapper into Docker image during build when network is available. Co-authored-by: Cursor <cursoragent@cursor.com>
33 lines
1.4 KiB
Bash
33 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
# Validate bundled Android Gradle Plugin cache inside the Docker image.
|
|
set -euo pipefail
|
|
|
|
AGP_VERSION="${ANDROID_GRADLE_PLUGIN_VERSION:-8.11.0}"
|
|
LOCAL_REPO="${ANDROID_AGP_LOCAL_REPO:-/opt/android-agp-maven}"
|
|
BUNDLED_REPO="${ANDROID_AGP_BUNDLED_REPO:-/workspace/tauri_app/docker/offline-maven}"
|
|
|
|
required=(
|
|
"${LOCAL_REPO}/com/android/tools/build/gradle/${AGP_VERSION}/gradle-${AGP_VERSION}.jar"
|
|
"${LOCAL_REPO}/com/android/tools/build/builder/${AGP_VERSION}/builder-${AGP_VERSION}.pom"
|
|
"${LOCAL_REPO}/com/android/tools/build/builder-model/${AGP_VERSION}/builder-model-${AGP_VERSION}.pom"
|
|
"${LOCAL_REPO}/com/android/tools/build/gradle-api/${AGP_VERSION}/gradle-api-${AGP_VERSION}.pom"
|
|
"${LOCAL_REPO}/androidx/webkit/webkit/1.14.0/webkit-1.14.0.pom"
|
|
"${LOCAL_REPO}/androidx/appcompat/appcompat/1.7.1/appcompat-1.7.1.pom"
|
|
"${LOCAL_REPO}/androidx/browser/browser/1.8.0/browser-1.8.0.pom"
|
|
"${LOCAL_REPO}/org/jetbrains/kotlin/kotlin-gradle-plugin/1.9.25/kotlin-gradle-plugin-1.9.25.pom"
|
|
)
|
|
|
|
for file in "${required[@]}"; do
|
|
if [ ! -f "${file}" ]; then
|
|
echo "Неполный offline-кэш AGP, отсутствует: ${file}" >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
echo "==> Offline AGP ${AGP_VERSION} validated in ${LOCAL_REPO}"
|
|
|
|
if [ -d "${BUNDLED_REPO}" ]; then
|
|
rm -rf "${BUNDLED_REPO}"
|
|
echo "==> Удалён дубликат offline-кэша из ${BUNDLED_REPO} (экономия места в образе)"
|
|
fi
|