[Ubuntu] Remove AdoptOpenJDK (#8022)

This commit is contained in:
Vasilii Polikarpov
2023-08-02 11:56:11 +02:00
committed by GitHub
parent da18545f2f
commit 2a1b5d19a3
5 changed files with 23 additions and 94 deletions

View File

@@ -1,22 +1,17 @@
function Get-JavaVersionsTable {
$javaToolcacheVersions = Get-ChildItem $env:AGENT_TOOLSDIRECTORY/Java*/* -Directory | Sort-Object { [int]$_.Name.Split(".")[0] }
$existingVersions = $javaToolcacheVersions | ForEach-Object {
return $javaToolcacheVersions | ForEach-Object {
$majorVersion = $_.Name.split(".")[0]
$fullVersion = $_.Name.Replace("-", "+")
$defaultJavaPath = $env:JAVA_HOME
$javaPath = Get-Item env:JAVA_HOME_${majorVersion}_X64
$defaultPostfix = ($javaPath.Value -eq $defaultJavaPath) ? " (default)" : ""
$vendorName = ($_.FullName -like '*Java_Adopt_jdk*') ? "Adopt OpenJDK" : "Eclipse Temurin"
[PSCustomObject] @{
"Version" = $fullVersion + $defaultPostfix
"Vendor" = $vendorName
"Environment Variable" = $javaPath.Name
}
}
# Return all the vendors which are not Adopt, also look for version 12 of Adopt (Eclipse Temurin does not have this version)
$versionsToReturn = $existingVersions | Where-Object {$_.Vendor -notlike "Adopt*" -or $_.Version.Split(".")[0] -eq 12}
return $versionsToReturn
}

View File

@@ -10,21 +10,9 @@ source $HELPER_SCRIPTS/etc-environment.sh
createJavaEnvironmentalVariable() {
local JAVA_VERSION=$1
local VENDOR_NAME=$2
local DEFAULT=$3
local DEFAULT=$2
case ${VENDOR_NAME} in
"Adopt" )
INSTALL_PATH_PATTERN="/usr/lib/jvm/adoptopenjdk-${JAVA_VERSION}-hotspot-amd64" ;;
"Temurin-Hotspot" )
INSTALL_PATH_PATTERN="/usr/lib/jvm/temurin-${JAVA_VERSION}-jdk-amd64" ;;
*)
echo "Unknown vendor"
exit 1
esac
local INSTALL_PATH_PATTERN="/usr/lib/jvm/temurin-${JAVA_VERSION}-jdk-amd64"
if [[ ${DEFAULT} == "True" ]]; then
echo "Setting up JAVA_HOME variable to ${INSTALL_PATH_PATTERN}"
@@ -38,15 +26,8 @@ createJavaEnvironmentalVariable() {
}
enableRepositories() {
osLabel=$(getOSVersionLabel)
if isUbuntu20; then
# Add Adopt PPA
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | gpg --dearmor > /usr/share/keyrings/adopt.gpg
echo "deb [signed-by=/usr/share/keyrings/adopt.gpg] https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ $osLabel main" > /etc/apt/sources.list.d/adopt.list
fi
# Add Addoptium PPA
# apt-key is deprecated, dearmor and add manually
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor > /usr/share/keyrings/adoptium.gpg
@@ -56,21 +37,12 @@ osLabel=$(getOSVersionLabel)
installOpenJDK() {
local JAVA_VERSION=$1
local VENDOR_NAME=$2
# Install Java from PPA repositories.
if [[ ${VENDOR_NAME} == "Temurin-Hotspot" ]]; then
apt-get -y install temurin-${JAVA_VERSION}-jdk=\*
javaVersionPath="/usr/lib/jvm/temurin-${JAVA_VERSION}-jdk-amd64"
elif [[ ${VENDOR_NAME} == "Adopt" ]]; then
apt-get -y install adoptopenjdk-${JAVA_VERSION}-hotspot=\*
javaVersionPath="/usr/lib/jvm/adoptopenjdk-${JAVA_VERSION}-hotspot-amd64"
else
echo "${VENDOR_NAME} is invalid, valid names are: Temurin-Hotspot and Adopt"
exit 1
fi
JAVA_TOOLCACHE_PATH="${AGENT_TOOLSDIRECTORY}/Java_${VENDOR_NAME}_jdk"
JAVA_TOOLCACHE_PATH="${AGENT_TOOLSDIRECTORY}/Java_Temurin-Hotspot_jdk"
fullJavaVersion=$(cat "${javaVersionPath}/release" | grep "^SEMANTIC" | cut -d "=" -f 2 | tr -d "\"" | tr "+" "-")
@@ -101,25 +73,17 @@ enableRepositories
apt-get update
defaultVersion=$(get_toolset_value '.java.default')
defaultVendor=$(get_toolset_value '.java.default_vendor')
jdkVendors=($(get_toolset_value '.java.vendors[].name'))
for jdkVendor in ${jdkVendors[@]}; do
# get vendor-specific versions
jdkVersionsToInstall=($(get_toolset_value ".java.vendors[] | select (.name==\"${jdkVendor}\") | .versions[]"))
jdkVersionsToInstall=($(get_toolset_value ".java.versions[]"))
for jdkVersionToInstall in ${jdkVersionsToInstall[@]}; do
installOpenJDK ${jdkVersionToInstall}
installOpenJDK ${jdkVersionToInstall} ${jdkVendor}
isDefaultVersion=False; [[ ${jdkVersionToInstall} == ${defaultVersion} ]] && isDefaultVersion=True
if [[ ${jdkVendor} == ${defaultVendor} ]]; then
createJavaEnvironmentalVariable ${jdkVersionToInstall} ${jdkVendor} ${isDefaultVersion}
if [[ ${jdkVersionToInstall} == ${defaultVersion} ]]
then
createJavaEnvironmentalVariable ${jdkVersionToInstall} True
else
createJavaEnvironmentalVariable ${jdkVersionToInstall} False
fi
done
done
# Install Ant
@@ -147,10 +111,8 @@ ln -s /usr/share/gradle-"${gradleLatestVersion}"/bin/gradle /usr/bin/gradle
echo "GRADLE_HOME=$(find /usr/share -depth -maxdepth 1 -name "gradle*")" | tee -a /etc/environment
# Delete java repositories and keys
rm -f /etc/apt/sources.list.d/adopt.list
rm -f /etc/apt/sources.list.d/adoptium.list
rm -f /etc/apt/sources.list.d/zulu.list
rm -f /usr/share/keyrings/adopt.gpg
rm -f /usr/share/keyrings/adoptium.gpg
rm -f /usr/share/keyrings/zulu.gpg

View File

@@ -3,11 +3,9 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1" -DisableNameCheckin
Describe "Java" {
$toolsetJava = (Get-ToolsetContent).java
$defaultVersion = $toolsetJava.default
$defaultVendor = $toolsetJava.default_vendor
$javaVendors = $toolsetJava.vendors
$jdkVersions = $toolsetJava.versions
[array]$jdkVersions = ($javaVendors | Where-Object {$_.name -eq $defaultVendor}).versions | ForEach-Object { @{Version = $_} }
[array]$adoptJdkVersions = ($javaVendors | Where-Object {$_.name -eq "Adopt"}).versions | ForEach-Object { @{Version = $_} }
[array]$testCases = $jdkVersions | ForEach-Object { @{Version = $_ } }
It "Java <DefaultJavaVersion> is default" -TestCases @{ DefaultJavaVersion = $defaultVersion } {
$actualJavaPath = Get-EnvironmentVariable "JAVA_HOME"
@@ -37,7 +35,7 @@ Describe "Java" {
"`"$GradlePath`" -version" | Should -ReturnZeroExitCode
}
It "Java <Version>" -TestCases $jdkVersions {
It "Java <Version>" -TestCases $testCases {
$javaVariableValue = Get-EnvironmentVariable "JAVA_HOME_${Version}_X64"
$javaVariableValue | Should -Not -BeNullOrEmpty
$javaPath = Join-Path $javaVariableValue "bin/java"
@@ -49,14 +47,4 @@ Describe "Java" {
}
"`"$javaPath`" -version" | Should -MatchCommandOutput ([regex]::Escape("openjdk version `"${Version}."))
}
It "Java Adopt <Version>" -TestCases $adoptJdkVersions -Skip:(Test-IsUbuntu22) {
$javaPath = Join-Path (Get-ChildItem ${env:AGENT_TOOLSDIRECTORY}\Java_Adopt_jdk\${Version}*) "x64\bin\java"
"`"$javaPath`" -version" | Should -ReturnZeroExitCode
if ($Version -eq 8) {
$Version = "1.${Version}"
}
"`"$javaPath`" -version" | Should -MatchCommandOutput ([regex]::Escape("openjdk version `"${Version}."))
}
}

View File

@@ -73,17 +73,7 @@
],
"java": {
"default": "11",
"default_vendor": "Temurin-Hotspot",
"vendors": [
{
"name": "Temurin-Hotspot",
"versions": [ "8", "11", "17" ]
},
{
"name": "Adopt",
"versions": [ "8", "11" ]
}
],
"versions": [ "8", "11", "17" ],
"maven": "3.8.8"
},
"android": {

View File

@@ -66,13 +66,7 @@
],
"java": {
"default": "11",
"default_vendor": "Temurin-Hotspot",
"vendors": [
{
"name": "Temurin-Hotspot",
"versions": [ "8", "11", "17" ]
}
],
"versions": [ "8", "11", "17" ],
"maven": "3.8.8"
},
"android": {