fix docker for tauri android build
This commit is contained in:
@@ -13,17 +13,49 @@ if [ ! -x "${RESOLVER}/gradlew" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Resolving AGP ${AGP_VERSION} + AndroidX deps into ${OFFLINE}"
|
||||
cd "${RESOLVER}"
|
||||
chmod +x ./gradlew
|
||||
sed -i 's/\r$//' ./gradlew 2>/dev/null || true
|
||||
./gradlew exportAllOfflineMaven --no-daemon -PagpVersion="${AGP_VERSION}"
|
||||
run_export() {
|
||||
cd "${RESOLVER}"
|
||||
chmod +x ./gradlew
|
||||
sed -i 's/\r$//' ./gradlew 2>/dev/null || true
|
||||
if [ -n "${ANDROID_HOME:-}" ]; then
|
||||
printf 'sdk.dir=%s\n' "${ANDROID_HOME}" > local.properties
|
||||
fi
|
||||
./gradlew exportAllOfflineMaven --no-daemon -PagpVersion="${AGP_VERSION}"
|
||||
"${ROOT}/docker/ensure-tauri-androidx-offline.sh"
|
||||
}
|
||||
|
||||
echo "==> Resolving AGP ${AGP_VERSION} + Android runtime deps into ${OFFLINE}"
|
||||
|
||||
for script in "${ROOT}/docker/populate-offline-agp.sh" "${ROOT}/docker/ensure-tauri-androidx-offline.sh"; do
|
||||
sed -i 's/\r$//' "${script}" 2>/dev/null || true
|
||||
done
|
||||
|
||||
if [ -n "${ANDROID_HOME:-}" ] && [ -d "${ANDROID_HOME}/platforms" ]; then
|
||||
run_export
|
||||
elif command -v docker >/dev/null 2>&1; then
|
||||
echo "==> ANDROID_HOME not set; using Docker (ghcr.io/cirruslabs/android-sdk:35-ndk)"
|
||||
docker run --rm \
|
||||
-v "${ROOT}/..:/workspace" \
|
||||
-w /workspace/tauri_app/docker/agp-resolver \
|
||||
-e ANDROID_HOME=/opt/android-sdk \
|
||||
-e ANDROID_SDK_ROOT=/opt/android-sdk \
|
||||
-e JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 \
|
||||
ghcr.io/cirruslabs/android-sdk:35-ndk \
|
||||
bash -lc "echo sdk.dir=\${ANDROID_HOME} > local.properties && ./gradlew exportAllOfflineMaven --no-daemon -PagpVersion=${AGP_VERSION} && /workspace/tauri_app/docker/ensure-tauri-androidx-offline.sh"
|
||||
else
|
||||
echo "Set ANDROID_HOME or install Docker to populate the offline AndroidX cache." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
required=(
|
||||
"${OFFLINE}/com/android/tools/build/builder/${AGP_VERSION}/builder-${AGP_VERSION}.pom"
|
||||
"${OFFLINE}/androidx/webkit/webkit/1.14.0/webkit-1.14.0.pom"
|
||||
"${OFFLINE}/androidx/appcompat/appcompat/1.7.1/appcompat-1.7.1.pom"
|
||||
"${OFFLINE}/androidx/browser/browser/1.8.0/browser-1.8.0.pom"
|
||||
"${OFFLINE}/androidx/annotation/annotation/1.9.1/annotation-1.9.1.pom"
|
||||
"${OFFLINE}/androidx/lifecycle/lifecycle-runtime/2.10.0/lifecycle-runtime-2.10.0.pom"
|
||||
"${OFFLINE}/androidx/emoji2/emoji2-views-helper/1.2.0/emoji2-views-helper-1.2.0.pom"
|
||||
"${OFFLINE}/androidx/savedstate/savedstate/1.2.1/savedstate-1.2.1.pom"
|
||||
"${OFFLINE}/org/jetbrains/kotlin/kotlin-gradle-plugin/1.9.25/kotlin-gradle-plugin-1.9.25.pom"
|
||||
)
|
||||
|
||||
@@ -34,7 +66,7 @@ for file in "${required[@]}"; do
|
||||
fi
|
||||
done
|
||||
|
||||
TOTAL_SIZE="$(du -sh "${OFFLINE}" | awk '{print $1}')"
|
||||
ARTIFACTS="$(find "${OFFLINE}" \( -name '*.jar' -o -name '*.aar' \) | wc -l | tr -d ' ')"
|
||||
TOTAL_SIZE="$(du -sh "${OFFLINE}" 2>/dev/null | awk '{print $1}' || echo '?')"
|
||||
ARTIFACTS="$(find "${OFFLINE}" \( -name '*.jar' -o -name '*.aar' \) 2>/dev/null | wc -l | tr -d ' ')"
|
||||
echo "==> Offline Maven cache ready: ${ARTIFACTS} jar/aar, total ${TOTAL_SIZE}"
|
||||
echo "==> Commit tauri_app/docker/offline-maven/ and push to the server"
|
||||
|
||||
Reference in New Issue
Block a user