24 lines
943 B
Bash
24 lines
943 B
Bash
#!/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" "$@"
|