#!/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