11# escape=`
22# hadolint shell=powershell
33
4- ARG JAVA_VERSION=21.0.11_10
54ARG WINDOWS_VERSION=ltsc2022
65
76FROM mcr.microsoft.com/windows/servercore:"${WINDOWS_VERSION}" AS jre-and-war
87
98# $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324
109SHELL ["powershell" , "-Command" , "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';" ]
1110
12- ARG JAVA_VERSION=21.0.11_10
13-
14- RUN New-Item -ItemType Directory -Path C:\t emp | Out-Null ; `
15- $javaMajorVersion = $env:JAVA_VERSION.substring(0,2) ; `
16- $msiUrl = 'https://api.adoptium.net/v3/installer/version/jdk-{0}/windows/x64/jdk/hotspot/normal/eclipse?project=jdk' -f $env:JAVA_VERSION.Replace('_' , '%2B' ) ; `
17- Invoke-WebRequest $msiUrl -OutFile 'C:\t emp\j dk.msi' ; `
18- $proc = Start-Process -FilePath 'msiexec.exe' -ArgumentList '/i' , 'C:\t emp\j dk.msi' , '/L*V' , 'C:\t emp\O penJDK.log' , '/quiet' , 'ADDLOCAL=FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome' , "INSTALLDIR=C:\o penjdk-${javaMajorVersion}" -Wait -Passthru ; `
19- $proc.WaitForExit() ; `
20- Remove-Item -Path C:\t emp -Recurse | Out-Null
21-
22- RUN Write-Host 'javac --version' ; javac --version ; `
23- Write-Host 'java --version' ; java --version
24-
25- RUN $version = (jlink --version) ; `
11+ ARG JAVA_ZIP_URL="Provided by docker-bake.hcl"
12+ ARG jdkTempHome='C:\o penjdk'
13+ ARG jdkTemp='C:\j dktemp'
14+ ARG localArchive="${jdkTemp}\j dk.zip"
15+ RUN New-Item -ItemType Directory -Path $env:jdkTemp | Out-Null ; `
16+ Invoke-WebRequest $env:JAVA_ZIP_URL -OutFile $env:localArchive ; `
17+ Expand-Archive -Path $env:localArchive -DestinationPath $env:jdkTemp ; `
18+ $expandedDir = Get-ChildItem -Path $env:jdkTemp -Directory | Where-Object { $_.Name -like 'jdk*' } ; `
19+ Move-Item -Path $expandedDir.FullName -Destination $env:jdkTempHome -Force ; `
20+ Remove-Item -Path $env:jdkTemp -Recurse | Out-Null
21+
22+ RUN Write-Host 'javac --version' ; $env:jdkTempHome/javac --version ; `
23+ Write-Host 'java --version' ; $env:jdkTempHome/java --version
24+
25+ RUN $version = ($env:jdkTempHome/jlink --version) ; `
2626 $javaMajorVersion = $version.Substring(0,2) ; `
2727 if ($javaMajorVersion -eq '25' ) { `
28- $openjdkFolder = 'openjdk-{0}' -f $javaMajorVersion ; `
29- Copy-Item -Path $openjdkFolder -Destination C:\j avaruntime -Recurse ; `
28+ Move-Item -Path $$env:jdkTempHome -Destination C:\j avaruntime -Recurse ; `
3029 } else { `
3130 $options = '--compress=2' ; `
3231 switch ($version.Substring(0,3)) { `
@@ -36,7 +35,7 @@ RUN $version = (jlink --version) ; `
3635 exit 1 ; `
3736 } `
3837 } `
39- & jlink `
38+ & $env:jdkTempHome/ jlink `
4039 --strip-java-debug-attributes `
4140 $options `
4241 --add-modules ALL-MODULE-PATH `
0 commit comments