#!/usr/bin/env sh
# Self-bootstrapping Gradle launcher for the Underground Universal APK Builder.
set -eu
GRADLE_VERSION="8.7"
DIST_NAME="gradle-${GRADLE_VERSION}-bin.zip"
DIST_URL="https://services.gradle.org/distributions/${DIST_NAME}"
BASE="${GRADLE_USER_HOME:-$HOME/.gradle}/underground-wrapper"
HOME_DIR="$BASE/gradle-${GRADLE_VERSION}"

if [ -x "$HOME_DIR/bin/gradle" ]; then
  exec "$HOME_DIR/bin/gradle" "$@"
fi

if command -v gradle >/dev/null 2>&1; then
  exec gradle "$@"
fi

mkdir -p "$BASE"
ZIP="$BASE/$DIST_NAME"
if [ ! -f "$ZIP" ]; then
  if command -v curl >/dev/null 2>&1; then
    curl -fL --retry 3 --connect-timeout 20 "$DIST_URL" -o "$ZIP"
  elif command -v wget >/dev/null 2>&1; then
    wget -O "$ZIP" "$DIST_URL"
  else
    echo "ERROR: Gradle is not installed and neither curl nor wget is available." >&2
    exit 1
  fi
fi

if ! command -v unzip >/dev/null 2>&1; then
  echo "ERROR: unzip is required to bootstrap Gradle." >&2
  exit 1
fi
rm -rf "$HOME_DIR"
unzip -q "$ZIP" -d "$BASE"
exec "$HOME_DIR/bin/gradle" "$@"
