[Ubuntu] Move the list of installed Java versions to toolset (#2393)

* added java to toolset

* fixed java-tools and updated tests

* fixed java-tools.sh

* fixed tests

* fixed java.Tests

* fixed java versions check

* fixed Java.Tests.ps1

Co-authored-by: Nikita Bykov <v-nibyko@microsoft.com>
This commit is contained in:
Nikita Bykov
2021-01-13 10:47:03 +03:00
committed by GitHub
parent b42d8566f9
commit 7457b9fecb
5 changed files with 42 additions and 45 deletions

View File

@@ -7,6 +7,10 @@
source $HELPER_SCRIPTS/os.sh source $HELPER_SCRIPTS/os.sh
source $HELPER_SCRIPTS/etc-environment.sh source $HELPER_SCRIPTS/etc-environment.sh
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
JAVA_VERSIONS_LIST=$(jq -r '.java.versions | .[]' $toolset)
DEFAULT_JDK_VERSION=$(jq -r '.java.default' $toolset)
# Install GPG Key for Adopt Open JDK. See https://adoptopenjdk.net/installation.html # Install GPG Key for Adopt Open JDK. See https://adoptopenjdk.net/installation.html
wget -qO - "https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public" | apt-key add - wget -qO - "https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public" | apt-key add -
add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
@@ -15,24 +19,18 @@ if isUbuntu16 || isUbuntu18 ; then
# Install GPG Key for Azul Open JDK. See https://www.azul.com/downloads/azure-only/zulu/ # Install GPG Key for Azul Open JDK. See https://www.azul.com/downloads/azure-only/zulu/
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
apt-add-repository "deb https://repos.azul.com/azure-only/zulu/apt stable main" apt-add-repository "deb https://repos.azul.com/azure-only/zulu/apt stable main"
apt-get update
apt-get -y install zulu-7-azure-jdk=\*
# Open JDP Adopt does not exist for Ubuntu 20
apt-get -y install adoptopenjdk-12-hotspot=\*
echo "JAVA_HOME_7_X64=/usr/lib/jvm/zulu-7-azure-amd64" | tee -a /etc/environment
DEFAULT_JDK_VERSION=8
defaultLabel8="(default)"
fi fi
apt-get update
if isUbuntu20 ; then for JAVA_VERSION in ${JAVA_VERSIONS_LIST[@]}; do
DEFAULT_JDK_VERSION=11 if [[ $JAVA_VERSION == "7" ]]; then
defaultLabel11="(default)" apt-get -y install zulu-7-azure-jdk=\*
apt-get update echo "JAVA_HOME_7_X64=/usr/lib/jvm/zulu-7-azure-amd64" | tee -a /etc/environment
fi else
apt-get -y install adoptopenjdk-$JAVA_VERSION-hotspot=\*
# Install only LTS versions. echo "JAVA_HOME_${JAVA_VERSION}_X64=/usr/lib/jvm/adoptopenjdk-${JAVA_VERSION}-hotspot-amd64" | tee -a /etc/environment
apt-get -y install adoptopenjdk-8-hotspot=\* fi
apt-get -y install adoptopenjdk-11-hotspot=\* done
# Set Default Java version. # Set Default Java version.
if isUbuntu16; then if isUbuntu16; then
@@ -42,11 +40,6 @@ if isUbuntu16; then
fi fi
update-java-alternatives -s /usr/lib/jvm/adoptopenjdk-${DEFAULT_JDK_VERSION}-hotspot-amd64 update-java-alternatives -s /usr/lib/jvm/adoptopenjdk-${DEFAULT_JDK_VERSION}-hotspot-amd64
echo "JAVA_HOME_8_X64=/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64" | tee -a /etc/environment
echo "JAVA_HOME_11_X64=/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64" | tee -a /etc/environment
if isUbuntu16 || isUbuntu18 ; then
echo "JAVA_HOME_12_X64=/usr/lib/jvm/adoptopenjdk-12-hotspot-amd64" | tee -a /etc/environment
fi
echo "JAVA_HOME=/usr/lib/jvm/adoptopenjdk-${DEFAULT_JDK_VERSION}-hotspot-amd64" | tee -a /etc/environment echo "JAVA_HOME=/usr/lib/jvm/adoptopenjdk-${DEFAULT_JDK_VERSION}-hotspot-amd64" | tee -a /etc/environment
# Install Ant # Install Ant

View File

@@ -1,28 +1,12 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1" -DisableNameChecking Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1" -DisableNameChecking
Describe "Java" { Describe "Java" {
[array]$jdkVersions = (Get-ToolsetContent).java.versions | ForEach-Object { @{Version = $_} }
$defaultJavaVersion = (Get-ToolsetContent).java.default
if (Test-IsUbuntu20) { It "Java <DefaultJavaVersion> is default" -TestCases @{ DefaultJavaVersion = $defaultJavaVersion } {
$defaultJavaVersion = "11"
$javaTestCases = @(
@{ Version = "1.8" }
@{ Version = "11" }
)
}
if ((Test-IsUbuntu16) -or (Test-IsUbuntu18)) {
$defaultJavaVersion = "8"
$javaTestCases = @(
@{ Version = "1.7" }
@{ Version = "1.8" }
@{ Version = "11" }
@{ Version = "12" }
)
}
It "Java <DefaultJavaVersion> is default" -TestCases @{ defaultJavaVersion = $defaultJavaVersion } {
$actualJavaPath = Get-EnvironmentVariable "JAVA_HOME" $actualJavaPath = Get-EnvironmentVariable "JAVA_HOME"
$expectedJavaPath = Get-EnvironmentVariable "JAVA_HOME_${defaultJavaVersion}_X64" $expectedJavaPath = Get-EnvironmentVariable "JAVA_HOME_${DefaultJavaVersion}_X64"
$actualJavaPath | Should -Not -BeNullOrEmpty $actualJavaPath | Should -Not -BeNullOrEmpty
$expectedJavaPath | Should -Not -BeNullOrEmpty $expectedJavaPath | Should -Not -BeNullOrEmpty
@@ -39,15 +23,17 @@ Describe "Java" {
"$ToolName -version" | Should -ReturnZeroExitCode "$ToolName -version" | Should -ReturnZeroExitCode
} }
It "Java <Version>" -TestCases $javaTestCases { It "Java <Version>" -TestCases $jdkVersions {
$versionNumber = $version.Split(".") | Select-Object -Last 1 $javaVariableValue = Get-EnvironmentVariable "JAVA_HOME_${Version}_X64"
$javaVariableValue = Get-EnvironmentVariable "JAVA_HOME_${versionNumber}_X64"
$javaVariableValue | Should -Not -BeNullOrEmpty $javaVariableValue | Should -Not -BeNullOrEmpty
$javaPath = Join-Path $javaVariableValue "bin/java" $javaPath = Join-Path $javaVariableValue "bin/java"
$result = Get-CommandResult "`"$javaPath`" -version" $result = Get-CommandResult "`"$javaPath`" -version"
$result.ExitCode | Should -Be 0 $result.ExitCode | Should -Be 0
if ($Version -eq 7 -or $Version -eq 8) {
$Version = "1.${Version}"
}
$result.Output | Should -Match ([regex]::Escape("openjdk version `"${Version}.")) $result.Output | Should -Match ([regex]::Escape("openjdk version `"${Version}."))
} }
} }

View File

@@ -79,6 +79,12 @@
] ]
} }
], ],
"java": {
"default": "8",
"versions": [
"7", "8", "11", "12"
]
},
"android": { "android": {
"platform_min_version": "10", "platform_min_version": "10",
"build_tools_min_version": "19.1.0", "build_tools_min_version": "19.1.0",

View File

@@ -79,6 +79,12 @@
] ]
} }
], ],
"java": {
"default": "8",
"versions": [
"7", "8", "11", "12"
]
},
"android": { "android": {
"platform_min_version": "17", "platform_min_version": "17",
"build_tools_min_version": "19.1.0", "build_tools_min_version": "19.1.0",

View File

@@ -67,6 +67,12 @@
] ]
} }
], ],
"java": {
"default": "11",
"versions": [
"8", "11"
]
},
"android": { "android": {
"platform_min_version": "27", "platform_min_version": "27",
"build_tools_min_version": "27.0.0", "build_tools_min_version": "27.0.0",