Pin generated Gradle wrapper

This commit is contained in:
Dark98
2026-07-02 05:15:37 +01:00
parent 4a1b873d2c
commit 4b62fa108a
3 changed files with 36 additions and 12 deletions
+27 -8
View File
@@ -5,6 +5,9 @@ ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
AB_HOME="${ANDROID_BUILDER_HOME:-$HOME/android-builder}"
SDK="$HOME/android-sdk"
PLATFORM="${ANDROID_BUILDER_PLATFORM:-android-33}"
GRADLE_VERSION="${ANDROID_BUILDER_GRADLE_VERSION:-8.7}"
AGP_VERSION="${ANDROID_BUILDER_AGP_VERSION:-8.5.2}"
GRADLE_DISTRIBUTION_SHA256="${ANDROID_BUILDER_GRADLE_DISTRIBUTION_SHA256:-544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d}"
ensure_termux() {
if [ -z "${PREFIX:-}" ] || [ ! -d "/data/data/com.termux/files/usr" ]; then
@@ -13,6 +16,24 @@ ensure_termux() {
fi
}
require_gradle() {
if ! command -v gradle >/dev/null 2>&1; then
echo "Error: gradle is required to generate the project wrapper."
echo "Run: android-builder setup"
exit 1
fi
}
set_gradle_wrapper_sha256() {
WRAPPER_PROPERTIES="$1"
if grep -q '^distributionSha256Sum=' "$WRAPPER_PROPERTIES"; then
sed -i "s/^distributionSha256Sum=.*/distributionSha256Sum=$GRADLE_DISTRIBUTION_SHA256/" "$WRAPPER_PROPERTIES"
else
printf '\ndistributionSha256Sum=%s\n' "$GRADLE_DISTRIBUTION_SHA256" >> "$WRAPPER_PROPERTIES"
fi
}
get_project_name() {
if [ -f settings.gradle ]; then
DETECTED_NAME="$(grep -E '^rootProject.name[[:space:]]*=' settings.gradle \
@@ -38,6 +59,8 @@ get_apk_path() {
}
create_base_project() {
require_gradle
NAME="$1"
MESSAGE="$2"
PACKAGE="com.example.$(echo "$NAME" | tr '[:upper:]' '[:lower:]' | tr -cd 'a-z0-9')"
@@ -71,7 +94,7 @@ EOF2
cat > "$NAME/app/build.gradle" <<EOF2
plugins {
id 'com.android.application' version '8.5.2'
id 'com.android.application' version '$AGP_VERSION'
}
android {
@@ -156,13 +179,8 @@ public class MainActivity extends Activity {
}
EOF2
cat > "$NAME/gradlew" <<'EOF2'
#!/data/data/com.termux/files/usr/bin/bash
set -e
exec gradle "$@"
EOF2
chmod +x "$NAME/gradlew"
(cd "$NAME" && gradle wrapper --gradle-version "$GRADLE_VERSION" --distribution-type bin)
set_gradle_wrapper_sha256 "$NAME/gradle/wrapper/gradle-wrapper.properties"
echo "Created project: $NAME"
echo
@@ -170,4 +188,5 @@ EOF2
echo " cd $NAME"
echo " android-builder build"
echo " android-builder export"
echo " ./gradlew assembleDebug"
}