[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/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
wget -qO - "https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public" | apt-key add -
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/
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-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
apt-get update
if isUbuntu20 ; then
DEFAULT_JDK_VERSION=11
defaultLabel11="(default)"
apt-get update
fi
# Install only LTS versions.
apt-get -y install adoptopenjdk-8-hotspot=\*
apt-get -y install adoptopenjdk-11-hotspot=\*
for JAVA_VERSION in ${JAVA_VERSIONS_LIST[@]}; do
if [[ $JAVA_VERSION == "7" ]]; then
apt-get -y install zulu-7-azure-jdk=\*
echo "JAVA_HOME_7_X64=/usr/lib/jvm/zulu-7-azure-amd64" | tee -a /etc/environment
else
apt-get -y install adoptopenjdk-$JAVA_VERSION-hotspot=\*
echo "JAVA_HOME_${JAVA_VERSION}_X64=/usr/lib/jvm/adoptopenjdk-${JAVA_VERSION}-hotspot-amd64" | tee -a /etc/environment
fi
done
# Set Default Java version.
if isUbuntu16; then
@@ -42,11 +40,6 @@ if isUbuntu16; then
fi
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
# Install Ant

View File

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

View File

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

View File

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

View File

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