|
- #!/bin/sh
-
- USAGE="Usage: $0 MAIN_GRADLE_VERSION OTHER_GRADLE_VERSIONS..."
-
- if ["$#" == "0" ]; then
- echo $USAGE
- exit 1
- fi
-
- MAIN_VERSION=$1
- shift
-
- # Download the main version manually
- GRADLE_URL="https://services.gradle.org/distributions/gradle-${MAIN_VERSION}-bin.zip"
- DOWNLOAD_PATH=/tmp/gradle.zip
-
- echo "Downloading gradle $MAIN_VERSION"
- wget --output-document=$DOWNLOAD_PATH $GRADLE_URL
- unzip -d /tmp $DOWNLOAD_PATH
- mv /tmp/gradle-${MAIN_VERSION} $GRADLE_HOME
- ln -s ${GRADLE_HOME}/bin/gradle /usr/local/bin/gradle
- rm -rf $DOWNLOAD_PATH
-
- # Use the main version to download the others
- # This is done by creating a fake project for each version,
- # and setting up the gradle wrapper. This causes gradle to
- # download the required Gradle version to GRADLE_HOME or GRADLE_USER_HOME,
- # where it can be reused later.
- MAIN_PROJECT_DIR="/tmp/gradle-wrapper-setup"
- while (( "$#" )); do
- OTHER_VERSION=$1
- shift
-
- echo "Downloading gradle $OTHER_VERSION"
- PROJECT_DIR="$MAIN_PROJECT_DIR/gradle-$OTHER_VERSION"
- mkdir -p "$PROJECT_DIR"
- cd "$PROJECT_DIR"
- touch "./settings.gradle.kts"
- gradle wrapper --gradle-version "$OTHER_VERSION"
- ./gradlew build
- cd -
- done
|