[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 { function Get-JavaVersionsTable {
$javaToolcacheVersions = Get-ChildItem $env:AGENT_TOOLSDIRECTORY/Java*/* -Directory | Sort-Object { [int]$_.Name.Split(".")[0] } $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] $majorVersion = $_.Name.split(".")[0]
$fullVersion = $_.Name.Replace("-", "+") $fullVersion = $_.Name.Replace("-", "+")
$defaultJavaPath = $env:JAVA_HOME $defaultJavaPath = $env:JAVA_HOME
$javaPath = Get-Item env:JAVA_HOME_${majorVersion}_X64 $javaPath = Get-Item env:JAVA_HOME_${majorVersion}_X64
$defaultPostfix = ($javaPath.Value -eq $defaultJavaPath) ? " (default)" : "" $defaultPostfix = ($javaPath.Value -eq $defaultJavaPath) ? " (default)" : ""
$vendorName = ($_.FullName -like '*Java_Adopt_jdk*') ? "Adopt OpenJDK" : "Eclipse Temurin"
[PSCustomObject] @{ [PSCustomObject] @{
"Version" = $fullVersion + $defaultPostfix "Version" = $fullVersion + $defaultPostfix
"Vendor" = $vendorName
"Environment Variable" = $javaPath.Name "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() { createJavaEnvironmentalVariable() {
local JAVA_VERSION=$1 local JAVA_VERSION=$1
local VENDOR_NAME=$2 local DEFAULT=$2
local DEFAULT=$3
case ${VENDOR_NAME} in local INSTALL_PATH_PATTERN="/usr/lib/jvm/temurin-${JAVA_VERSION}-jdk-amd64"
"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
if [[ ${DEFAULT} == "True" ]]; then if [[ ${DEFAULT} == "True" ]]; then
echo "Setting up JAVA_HOME variable to ${INSTALL_PATH_PATTERN}" echo "Setting up JAVA_HOME variable to ${INSTALL_PATH_PATTERN}"
@@ -38,14 +26,7 @@ createJavaEnvironmentalVariable() {
} }
enableRepositories() { enableRepositories() {
osLabel=$(getOSVersionLabel)
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 # Add Addoptium PPA
# apt-key is deprecated, dearmor and add manually # apt-key is deprecated, dearmor and add manually
@@ -56,21 +37,12 @@ osLabel=$(getOSVersionLabel)
installOpenJDK() { installOpenJDK() {
local JAVA_VERSION=$1 local JAVA_VERSION=$1
local VENDOR_NAME=$2
# Install Java from PPA repositories. # Install Java from PPA repositories.
if [[ ${VENDOR_NAME} == "Temurin-Hotspot" ]]; then
apt-get -y install temurin-${JAVA_VERSION}-jdk=\* apt-get -y install temurin-${JAVA_VERSION}-jdk=\*
javaVersionPath="/usr/lib/jvm/temurin-${JAVA_VERSION}-jdk-amd64" 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 "+" "-") fullJavaVersion=$(cat "${javaVersionPath}/release" | grep "^SEMANTIC" | cut -d "=" -f 2 | tr -d "\"" | tr "+" "-")
@@ -101,25 +73,17 @@ enableRepositories
apt-get update apt-get update
defaultVersion=$(get_toolset_value '.java.default') defaultVersion=$(get_toolset_value '.java.default')
defaultVendor=$(get_toolset_value '.java.default_vendor') jdkVersionsToInstall=($(get_toolset_value ".java.versions[]"))
jdkVendors=($(get_toolset_value '.java.vendors[].name'))
for jdkVendor in ${jdkVendors[@]}; do for jdkVersionToInstall in ${jdkVersionsToInstall[@]}; do
installOpenJDK ${jdkVersionToInstall}
# get vendor-specific versions if [[ ${jdkVersionToInstall} == ${defaultVersion} ]]
jdkVersionsToInstall=($(get_toolset_value ".java.vendors[] | select (.name==\"${jdkVendor}\") | .versions[]")) then
createJavaEnvironmentalVariable ${jdkVersionToInstall} True
for jdkVersionToInstall in ${jdkVersionsToInstall[@]}; do else
createJavaEnvironmentalVariable ${jdkVersionToInstall} False
installOpenJDK ${jdkVersionToInstall} ${jdkVendor}
isDefaultVersion=False; [[ ${jdkVersionToInstall} == ${defaultVersion} ]] && isDefaultVersion=True
if [[ ${jdkVendor} == ${defaultVendor} ]]; then
createJavaEnvironmentalVariable ${jdkVersionToInstall} ${jdkVendor} ${isDefaultVersion}
fi fi
done
done done
# Install Ant # 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 echo "GRADLE_HOME=$(find /usr/share -depth -maxdepth 1 -name "gradle*")" | tee -a /etc/environment
# Delete java repositories and keys # 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/adoptium.list
rm -f /etc/apt/sources.list.d/zulu.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/adoptium.gpg
rm -f /usr/share/keyrings/zulu.gpg rm -f /usr/share/keyrings/zulu.gpg

View File

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

View File

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