#!/usr/bin/env bash # Small wrapper bootstrap that downloads Gradle when it is not already cached. set -euo pipefail GRADLE_VERSION="8.9" GRADLE_USER_HOME="${GRADLE_USER_HOME:-$HOME/.gradle}" INSTALL_ROOT="$GRADLE_USER_HOME/manual-wrapper/gradle-$GRADLE_VERSION" GRADLE_BIN="$INSTALL_ROOT/gradle-$GRADLE_VERSION/bin/gradle" if [[ ! -x "$GRADLE_BIN" ]]; then mkdir -p "$INSTALL_ROOT" ARCHIVE="$INSTALL_ROOT/gradle-$GRADLE_VERSION-bin.zip" URL="https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip" echo "Gradle $GRADLE_VERSION 尚未安装,正在下载……" if command -v curl >/dev/null 2>&1; then curl --fail --location --retry 3 "$URL" --output "$ARCHIVE" elif command -v wget >/dev/null 2>&1; then wget -O "$ARCHIVE" "$URL" else echo "需要 curl 或 wget 才能下载 Gradle。" >&2 exit 1 fi unzip -q -o "$ARCHIVE" -d "$INSTALL_ROOT" rm -f "$ARCHIVE" fi exec "$GRADLE_BIN" "$@"