mirror of
https://github.com/zapstore/zapstore.git
synced 2026-10-05 20:48:24 +00:00
Refine build scripts to include explicit environment variable outputs for target platform and ABI settings, enhancing clarity and usability. Default values for split ABI, target platform, and ABI are now consistently set across scripts, improving the reproducibility of APK builds.
This commit is contained in:
@@ -30,6 +30,9 @@ echo "== Environment =="
|
||||
echo "TAG=${TAG}"
|
||||
echo "GRADLE_USER_HOME=${GRADLE_USER_HOME:-}"
|
||||
echo "PUB_CACHE=${PUB_CACHE:-}"
|
||||
echo "REPRO_TARGET_PLATFORM=${REPRO_TARGET_PLATFORM:-android-arm64}"
|
||||
echo "REPRO_SPLIT_PER_ABI=${REPRO_SPLIT_PER_ABI:-1}"
|
||||
echo "REPRO_ABI=${REPRO_ABI:-arm64-v8a}"
|
||||
|
||||
echo "== Tool versions =="
|
||||
java -version
|
||||
@@ -84,14 +87,25 @@ if [ -n "${GRADLE_USER_HOME:-}" ]; then
|
||||
} > "${GRADLE_USER_HOME}/gradle.properties"
|
||||
fi
|
||||
|
||||
if [ "${REPRO_SPLIT_PER_ABI:-0}" = "1" ]; then
|
||||
echo "Building with --split-per-abi (hard mode)"
|
||||
flutter build apk --release --split-per-abi --no-pub
|
||||
APK_PATH="$(ls -1 build/app/outputs/flutter-apk/*arm64-v8a*release*.apk | head -n 1)"
|
||||
OUT_APK="${OUT_DIR}/app-${SOURCE_DATE_EPOCH}-${TAG}-arm64-v8a-release.apk"
|
||||
TARGET_PLATFORM="${REPRO_TARGET_PLATFORM:-android-arm64}"
|
||||
ABI_NAME="${REPRO_ABI:-arm64-v8a}"
|
||||
|
||||
if [ "${REPRO_SPLIT_PER_ABI:-1}" = "1" ]; then
|
||||
echo "Building with --split-per-abi (arm64 default)"
|
||||
if [ -n "${TARGET_PLATFORM}" ]; then
|
||||
flutter build apk --release --split-per-abi --target-platform "${TARGET_PLATFORM}" --no-pub
|
||||
else
|
||||
flutter build apk --release --split-per-abi --no-pub
|
||||
fi
|
||||
APK_PATH="$(ls -1 build/app/outputs/flutter-apk/*"${ABI_NAME}"*release*.apk | head -n 1)"
|
||||
OUT_APK="${OUT_DIR}/app-${SOURCE_DATE_EPOCH}-${TAG}-${ABI_NAME}-release.apk"
|
||||
else
|
||||
echo "Building single APK (default)"
|
||||
flutter build apk --release --no-pub
|
||||
if [ -n "${TARGET_PLATFORM}" ]; then
|
||||
flutter build apk --release --target-platform "${TARGET_PLATFORM}" --no-pub
|
||||
else
|
||||
flutter build apk --release --no-pub
|
||||
fi
|
||||
APK_PATH="$(ls -1 build/app/outputs/flutter-apk/*release*.apk | head -n 1)"
|
||||
OUT_APK="${OUT_DIR}/app-${SOURCE_DATE_EPOCH}-${TAG}-release.apk"
|
||||
fi
|
||||
|
||||
@@ -53,7 +53,9 @@ echo "Docker platform: ${DOCKER_PLATFORM}"
|
||||
echo "Flutter: ${FLUTTER_VERSION}"
|
||||
echo "Flutter sha256: ${FLUTTER_SHA256}"
|
||||
echo "cmdline-tools sha256: ${CMDLINE_TOOLS_SHA256}"
|
||||
echo "split-per-abi: ${REPRO_SPLIT_PER_ABI:-0}"
|
||||
echo "split-per-abi: ${REPRO_SPLIT_PER_ABI:-1}"
|
||||
echo "target-platform: ${REPRO_TARGET_PLATFORM:-android-arm64}"
|
||||
echo "abi: ${REPRO_ABI:-arm64-v8a}"
|
||||
|
||||
echo "== Building Docker image =="
|
||||
docker build --platform "${DOCKER_PLATFORM}" \
|
||||
@@ -101,7 +103,9 @@ run_one () {
|
||||
-e "GRADLE_USER_HOME=/work/gradle" \
|
||||
-e "GRADLE_OPTS=-Dorg.gradle.vfs.watch=false" \
|
||||
-e "PUB_CACHE=/work/pub-cache" \
|
||||
-e "REPRO_SPLIT_PER_ABI=${REPRO_SPLIT_PER_ABI:-0}" \
|
||||
-e "REPRO_SPLIT_PER_ABI=${REPRO_SPLIT_PER_ABI:-1}" \
|
||||
-e "REPRO_TARGET_PLATFORM=${REPRO_TARGET_PLATFORM:-android-arm64}" \
|
||||
-e "REPRO_ABI=${REPRO_ABI:-arm64-v8a}" \
|
||||
-v "${ROOT_DIR}:/repo:ro" \
|
||||
-v "${OUT_DIR}:/out:rw" \
|
||||
"${cache_mounts[@]}" \
|
||||
|
||||
Reference in New Issue
Block a user