mirror of
https://github.com/actions/runner-images.git
synced 2025-12-11 03:27:05 +00:00
[Ubuntu] Change java-tools script to retrieve the latest major Gradle version (#3385)
* Change java-tools script to retrieve the latest major gradle version * Change gradle installation to use manifest json. Use download_with_retries function * Move maven version to the toolset
This commit is contained in:
@@ -19,7 +19,7 @@ download_with_retries() {
|
|||||||
COMMAND="curl $URL -4 -sL -o '$DEST/$NAME'"
|
COMMAND="curl $URL -4 -sL -o '$DEST/$NAME'"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Downloading $URL..."
|
echo "Downloading '$URL' to '${DEST}/${NAME}'..."
|
||||||
i=20
|
i=20
|
||||||
while [ $i -gt 0 ]; do
|
while [ $i -gt 0 ]; do
|
||||||
((i--))
|
((i--))
|
||||||
@@ -27,6 +27,7 @@ download_with_retries() {
|
|||||||
if [ $? != 0 ]; then
|
if [ $? != 0 ]; then
|
||||||
sleep 30
|
sleep 30
|
||||||
else
|
else
|
||||||
|
echo "Download completed"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
## File: java-tools.sh
|
## File: java-tools.sh
|
||||||
## Desc: Installs Java and related tooling (Ant, Gradle, Maven)
|
## Desc: Installs Java and related tooling (Ant, Gradle, Maven)
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
source $HELPER_SCRIPTS/install.sh
|
source $HELPER_SCRIPTS/install.sh
|
||||||
source $HELPER_SCRIPTS/os.sh
|
source $HELPER_SCRIPTS/os.sh
|
||||||
source $HELPER_SCRIPTS/etc-environment.sh
|
source $HELPER_SCRIPTS/etc-environment.sh
|
||||||
@@ -62,27 +63,23 @@ apt-fast install -y --no-install-recommends ant ant-optional
|
|||||||
echo "ANT_HOME=/usr/share/ant" | tee -a /etc/environment
|
echo "ANT_HOME=/usr/share/ant" | tee -a /etc/environment
|
||||||
|
|
||||||
# Install Maven
|
# Install Maven
|
||||||
curl -sL https://www-eu.apache.org/dist/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.zip -o maven.zip
|
mavenVersion=$(get_toolset_value '.java.maven')
|
||||||
unzip -qq -d /usr/share maven.zip
|
mavenDownloadUrl="https://www-eu.apache.org/dist/maven/maven-3/${mavenVersion}/binaries/apache-maven-${mavenVersion}-bin.zip"
|
||||||
rm maven.zip
|
download_with_retries $mavenDownloadUrl "/tmp" "maven.zip"
|
||||||
ln -s /usr/share/apache-maven-3.8.1/bin/mvn /usr/bin/mvn
|
unzip -qq -d /usr/share /tmp/maven.zip
|
||||||
|
ln -s /usr/share/apache-maven-${mavenVersion}/bin/mvn /usr/bin/mvn
|
||||||
|
|
||||||
# Install Gradle
|
# Install Gradle
|
||||||
# This script downloads the latest HTML list of releases at https://gradle.org/releases/.
|
# This script founds the latest gradle release from https://services.gradle.org/versions/all
|
||||||
# Then, it extracts the top-most release download URL, relying on the top-most URL being for the latest release.
|
# The release is downloaded, extracted, a symlink is created that points to it, and GRADLE_HOME is set.
|
||||||
# The release download URL looks like this: https://services.gradle.org/distributions/gradle-5.2.1-bin.zip
|
gradleJson=$(curl -s https://services.gradle.org/versions/all)
|
||||||
# The release version is extracted from the download URL (i.e. 5.2.1).
|
gradleLatestVersion=$(echo $gradleJson | jq -r '.[] | select(.version | contains("-") | not).version' | sort -V | tail -n1)
|
||||||
# After all of this, the release is downloaded, extracted, a symlink is created that points to it, and GRADLE_HOME is set.
|
gradleDownloadUrl=$(echo $gradleJson | jq -r ".[] | select(.version==\"$gradleLatestVersion\") | .downloadUrl")
|
||||||
wget -qO gradleReleases.html https://gradle.org/releases/
|
echo "gradleUrl=$gradleDownloadUrl"
|
||||||
gradleUrl=$(grep -m 1 -o "https:\/\/services.gradle.org\/distributions\/gradle-.*-bin\.zip" gradleReleases.html | head -1)
|
echo "gradleVersion=$gradleLatestVersion"
|
||||||
gradleVersion=$(echo $gradleUrl | sed -nre 's/^[^0-9]*(([0-9]+\.)*[0-9]+).*/\1/p')
|
download_with_retries $gradleDownloadUrl "/tmp" "gradleLatest.zip"
|
||||||
rm gradleReleases.html
|
unzip -qq -d /usr/share /tmp/gradleLatest.zip
|
||||||
echo "gradleUrl=$gradleUrl"
|
ln -s /usr/share/gradle-"${gradleLatestVersion}"/bin/gradle /usr/bin/gradle
|
||||||
echo "gradleVersion=$gradleVersion"
|
|
||||||
curl -sL $gradleUrl -o gradleLatest.zip
|
|
||||||
unzip -qq -d /usr/share gradleLatest.zip
|
|
||||||
rm gradleLatest.zip
|
|
||||||
ln -s /usr/share/gradle-"${gradleVersion}"/bin/gradle /usr/bin/gradle
|
|
||||||
echo "GRADLE_HOME=$(find /usr/share -depth -maxdepth 1 -name "gradle*")" | tee -a /etc/environment
|
echo "GRADLE_HOME=$(find /usr/share -depth -maxdepth 1 -name "gradle*")" | tee -a /etc/environment
|
||||||
|
|
||||||
reloadEtcEnvironment
|
reloadEtcEnvironment
|
||||||
|
|||||||
@@ -72,7 +72,8 @@
|
|||||||
"default": "8",
|
"default": "8",
|
||||||
"versions": [
|
"versions": [
|
||||||
"8", "11", "12"
|
"8", "11", "12"
|
||||||
]
|
],
|
||||||
|
"maven": "3.8.1"
|
||||||
},
|
},
|
||||||
"android": {
|
"android": {
|
||||||
"platform_min_version": "23",
|
"platform_min_version": "23",
|
||||||
|
|||||||
@@ -72,7 +72,8 @@
|
|||||||
"default": "8",
|
"default": "8",
|
||||||
"versions": [
|
"versions": [
|
||||||
"8", "11", "12"
|
"8", "11", "12"
|
||||||
]
|
],
|
||||||
|
"maven": "3.8.1"
|
||||||
},
|
},
|
||||||
"android": {
|
"android": {
|
||||||
"platform_min_version": "23",
|
"platform_min_version": "23",
|
||||||
|
|||||||
@@ -72,7 +72,8 @@
|
|||||||
"default": "11",
|
"default": "11",
|
||||||
"versions": [
|
"versions": [
|
||||||
"8", "11"
|
"8", "11"
|
||||||
]
|
],
|
||||||
|
"maven": "3.8.1"
|
||||||
},
|
},
|
||||||
"android": {
|
"android": {
|
||||||
"platform_min_version": "27",
|
"platform_min_version": "27",
|
||||||
|
|||||||
Reference in New Issue
Block a user