#!/usr/bin/env bash # Download Android Gradle Plugin and all transitive deps into offline-maven. # Run once on a machine with internet access, then commit tauri_app/docker/offline-maven/. set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" AGP_VERSION="${ANDROID_GRADLE_PLUGIN_VERSION:-8.11.0}" RESOLVER="${ROOT}/docker/agp-resolver" OFFLINE="${ROOT}/docker/offline-maven" if [ ! -x "${RESOLVER}/gradlew" ]; then echo "Gradle wrapper not found in ${RESOLVER}" >&2 exit 1 fi echo "==> Resolving AGP ${AGP_VERSION} dependency tree into ${OFFLINE}" cd "${RESOLVER}" chmod +x ./gradlew ./gradlew exportOfflineMaven --no-daemon -PagpVersion="${AGP_VERSION}" if [ ! -f "${OFFLINE}/.agp-offline-complete" ]; then echo "Offline export did not complete successfully" >&2 exit 1 fi if [ ! -f "${OFFLINE}/com/android/tools/build/builder/${AGP_VERSION}/builder-${AGP_VERSION}.pom" ]; then echo "Missing required AGP dependency builder:${AGP_VERSION} in offline cache" >&2 exit 1 fi TOTAL_SIZE="$(du -sh "${OFFLINE}" | awk '{print $1}')" MODULES="$(find "${OFFLINE}" -name '*.jar' | wc -l | tr -d ' ')" echo "==> Offline AGP cache ready: ${MODULES} jar(s), total ${TOTAL_SIZE}" echo "==> Commit tauri_app/docker/offline-maven/ and push to the server"