#!/usr/bin/env bash # Adds reliable Google Maven mirrors for Android Gradle Plugin resolution. set -euo pipefail ANDROID_GEN="${1:-/workspace/tauri_app/src-tauri/gen/android}" if [ ! -d "${ANDROID_GEN}" ]; then echo "Android project not found: ${ANDROID_GEN}" >&2 exit 1 fi GRADLE_USER_HOME="${GRADLE_USER_HOME:-/root/.gradle}" LOCAL_REPO="${ANDROID_AGP_LOCAL_REPO:-/opt/android-agp-maven}" mkdir -p "${GRADLE_USER_HOME}/init.d" cat > "${GRADLE_USER_HOME}/init.d/agp-repos.gradle" < settings.pluginManagement { repositories { googleMirrors.each { url -> maven { setUrl(url) } } google() mavenCentral() gradlePluginPortal() } } } allprojects { buildscript { repositories { googleMirrors.each { url -> maven { setUrl(url) } } google() mavenCentral() } } repositories { googleMirrors.each { url -> maven { setUrl(url) } } google() mavenCentral() } } EOF insert_maven_repos() { local file="$1" [ -f "${file}" ] || return 0 if grep -q 'maven.google.com' "${file}"; then return 0 fi awk ' /repositories[[:space:]]*\{/ { print print " maven { url = uri(\"https://maven.google.com\") }" print " maven { url = uri(\"https://dl.google.com/android/maven2/\") }" print " maven { url = uri(\"file:///opt/android-agp-maven\") }" next } { print } ' "${file}" > "${file}.tmp" && mv "${file}.tmp" "${file}" } insert_maven_repos "${ANDROID_GEN}/build.gradle.kts" insert_maven_repos "${ANDROID_GEN}/buildSrc/build.gradle.kts" insert_maven_repos "${ANDROID_GEN}/app/build.gradle.kts" 2>/dev/null || true if [ -f "${ANDROID_GEN}/settings.gradle" ] && ! grep -q 'pluginManagement' "${ANDROID_GEN}/settings.gradle"; then { cat <<'EOF' pluginManagement { repositories { maven { url = uri("file:///opt/android-agp-maven") } maven { url = uri("https://maven.google.com") } maven { url = uri("https://dl.google.com/android/maven2/") } google() mavenCentral() gradlePluginPortal() } } EOF cat "${ANDROID_GEN}/settings.gradle" } > "${ANDROID_GEN}/settings.gradle.tmp" && mv "${ANDROID_GEN}/settings.gradle.tmp" "${ANDROID_GEN}/settings.gradle" fi echo "==> Gradle repositories patched for AGP (${ANDROID_GEN})"