@@ -16,6 +16,19 @@ if ($IsWindows) {
1616 $os = " linux"
1717}
1818
19+ $jdkFeatureVersionJavaHome = " JAVA_HOME_" + $JdkFeatureVersion + " _X64"
20+ Write-Host " Checking if $jdkFeatureVersionJavaHome is already set and exists..."
21+ $javaHomeValue = [System.Environment ]::GetEnvironmentVariable($jdkFeatureVersionJavaHome )
22+ if ($javaHomeValue ) {
23+ $jdkBinPath = Join-Path - Path $javaHomeValue - ChildPath " bin/java"
24+ if (Test-Path - Path $jdkBinPath ) {
25+ Write-Host " $jdkFeatureVersionJavaHome is already set to $javaHomeValue "
26+ exit 0
27+ }
28+ } else {
29+ Write-Host " $jdkFeatureVersionJavaHome is not set, proceeding with installation..."
30+ }
31+
1932$getInstalls = " $adoptiumApiUrl /v3/assets/latest/$JdkFeatureVersion /hotspot?architecture=x64&image_type=jdk&os=$os &vendor=eclipse"
2033$jdkUnzipName = " jdk-$JdkFeatureVersion "
2134
@@ -43,11 +56,22 @@ if (!(Test-Path -Path $jdkUnzipName -PathType container)) {
4356}
4457
4558$javaHome = (Convert-Path $jdkUnzipName )
46- Write-Host " Latest JDK: $javaHome "
4759
60+ if ($IsMacOS ) {
61+ # On macOS, the JDK is inside a subdirectory of the unzipped folder.
62+ $correctJavaHome = Join-Path - Path $javaHome - ChildPath " Contents/Home"
63+ $javaBinPath = Join-Path - Path $correctJavaHome - ChildPath " bin/java"
64+ if (Test-Path $javaBinPath ) {
65+ $javaHome = $correctJavaHome
66+ Write-Host " Updated JAVA_HOME on macOS: $correctJavaHome "
67+ } else {
68+ Write-Error " Failed to find Java at: $correctJavaHome "
69+ exit 1
70+ }
71+ }
72+
73+ Write-Host " Latest JDK: $javaHome "
4874Write-Host " Current JAVA_HOME: $Env: JAVA_HOME "
4975Write-Host " ##vso[task.setvariable variable=JAVA_HOME;]$javaHome "
50- Write-Host " Updated JAVA_HOME: $Env: JAVA_HOME "
51-
52- $jdkFeatureVersionJavaHome = " JAVA_HOME_" + $JdkFeatureVersion + " _X64"
76+ Write-Host " Updated JAVA_HOME to : $javaHome "
5377Write-Host " ##vso[task.setvariable variable=$jdkFeatureVersionJavaHome ;]$javaHome "
0 commit comments