docker-library / openjdk

Docker Official Image packaging for EA builds of OpenJDK from Oracle
http://openjdk.java.net
MIT License
1.14k stars 471 forks source link

Java 17 images #442

Closed marchof closed 3 years ago

marchof commented 3 years ago

Dear OpenJDK image maintainers,

thanks for your great work! As the images are updated very frequently I use then a lot to test EA versions of the JDK.

Java 17 development has started and binaries are already available: http://jdk.java.net/17/

Would it be possible to add images for those? As a newbie contributor does it make sens to try a PR for this?

Best regards, -marc

tianon commented 3 years ago

Would it be possible to add images for those? As a newbie contributor does it make sens to try a PR for this?

Yes, absolutely (to both)!

To perform this update, you'll need to modify update.sh to add 17 after 16 in the existing case statement, then copy the 16 folder to 17 and run ./update.sh which should "do the thing" -- however, it appears https://jdk.java.net/17/ doesn't have any early builds for Alpine (yet?) so you'll need to delete 17/jdk/alpine3.12 for the update to succeed.

All that should result in a diff something like the following:

Diff: ```diff diff --git a/16/jdk/buster/Dockerfile b/17/jdk/buster/Dockerfile similarity index 89% copy from 16/jdk/buster/Dockerfile copy to 17/jdk/buster/Dockerfile index 919d31b..0244432 100644 --- a/16/jdk/buster/Dockerfile +++ b/17/jdk/buster/Dockerfile @@ -23,7 +23,7 @@ RUN set -eux; \ # Default to UTF-8 file.encoding ENV LANG C.UTF-8 -ENV JAVA_HOME /usr/local/openjdk-16 +ENV JAVA_HOME /usr/local/openjdk-17 ENV PATH $JAVA_HOME/bin:$PATH # backwards compatibility shim @@ -33,7 +33,7 @@ RUN { echo '#/bin/sh'; echo 'echo "$JAVA_HOME"'; } > /usr/local/bin/docker-java- # > # > Java Development Kit builds, from Oracle # > -ENV JAVA_VERSION 16-ea+30 +ENV JAVA_VERSION 17-ea+3 RUN set -eux; \ \ @@ -42,13 +42,13 @@ RUN set -eux; \ case "$arch" in \ # arm64v8 arm64 | aarch64) \ - downloadUrl=https://download.java.net/java/early_access/jdk16/30/GPL/openjdk-16-ea+30_linux-aarch64_bin.tar.gz; \ - downloadSha256=82cc271dfc10530a176b89f20ad2bcbc9733b78f39e3997ac54132956ce53ff1; \ + downloadUrl=https://download.java.net/java/early_access/jdk17/3/GPL/openjdk-17-ea+3_linux-aarch64_bin.tar.gz; \ + downloadSha256=eacf61fc385681aa56993d5a326acbdb2d40658fb741a7c5b45b002f335262ad; \ ;; \ # amd64 amd64 | i386:x86-64) \ - downloadUrl=https://download.java.net/java/early_access/jdk16/30/GPL/openjdk-16-ea+30_linux-x64_bin.tar.gz; \ - downloadSha256=01ef449013825308ac144c91fbbbadd9562b084d6e17cd8d428a088386707556; \ + downloadUrl=https://download.java.net/java/early_access/jdk17/3/GPL/openjdk-17-ea+3_linux-x64_bin.tar.gz; \ + downloadSha256=fa2562dcc7bf374fc91c01dc722032147ea7553f961a250f8ae7348e6091dabc; \ ;; \ # fallback *) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;; \ diff --git a/16/jdk/oraclelinux7/Dockerfile b/17/jdk/oraclelinux7/Dockerfile similarity index 84% copy from 16/jdk/oraclelinux7/Dockerfile copy to 17/jdk/oraclelinux7/Dockerfile index 88f01b9..083512a 100644 --- a/16/jdk/oraclelinux7/Dockerfile +++ b/17/jdk/oraclelinux7/Dockerfile @@ -17,14 +17,14 @@ RUN set -eux; \ # Default to UTF-8 file.encoding ENV LANG en_US.UTF-8 -ENV JAVA_HOME /usr/java/openjdk-16 +ENV JAVA_HOME /usr/java/openjdk-17 ENV PATH $JAVA_HOME/bin:$PATH # https://jdk.java.net/ # > # > Java Development Kit builds, from Oracle # > -ENV JAVA_VERSION 16-ea+30 +ENV JAVA_VERSION 17-ea+3 RUN set -eux; \ \ @@ -34,13 +34,13 @@ RUN set -eux; \ case "$arch" in \ # arm64v8 arm64 | aarch64) \ - downloadUrl=https://download.java.net/java/early_access/jdk16/30/GPL/openjdk-16-ea+30_linux-aarch64_bin.tar.gz; \ - downloadSha256=82cc271dfc10530a176b89f20ad2bcbc9733b78f39e3997ac54132956ce53ff1; \ + downloadUrl=https://download.java.net/java/early_access/jdk17/3/GPL/openjdk-17-ea+3_linux-aarch64_bin.tar.gz; \ + downloadSha256=eacf61fc385681aa56993d5a326acbdb2d40658fb741a7c5b45b002f335262ad; \ ;; \ # amd64 amd64 | i386:x86-64) \ - downloadUrl=https://download.java.net/java/early_access/jdk16/30/GPL/openjdk-16-ea+30_linux-x64_bin.tar.gz; \ - downloadSha256=01ef449013825308ac144c91fbbbadd9562b084d6e17cd8d428a088386707556; \ + downloadUrl=https://download.java.net/java/early_access/jdk17/3/GPL/openjdk-17-ea+3_linux-x64_bin.tar.gz; \ + downloadSha256=fa2562dcc7bf374fc91c01dc722032147ea7553f961a250f8ae7348e6091dabc; \ ;; \ # fallback *) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;; \ diff --git a/16/jdk/oraclelinux8/Dockerfile b/17/jdk/oraclelinux8/Dockerfile similarity index 84% copy from 16/jdk/oraclelinux8/Dockerfile copy to 17/jdk/oraclelinux8/Dockerfile index d1ca4ee..4d2ee4f 100644 --- a/16/jdk/oraclelinux8/Dockerfile +++ b/17/jdk/oraclelinux8/Dockerfile @@ -17,14 +17,14 @@ RUN set -eux; \ # Default to UTF-8 file.encoding ENV LANG C.UTF-8 -ENV JAVA_HOME /usr/java/openjdk-16 +ENV JAVA_HOME /usr/java/openjdk-17 ENV PATH $JAVA_HOME/bin:$PATH # https://jdk.java.net/ # > # > Java Development Kit builds, from Oracle # > -ENV JAVA_VERSION 16-ea+30 +ENV JAVA_VERSION 17-ea+3 RUN set -eux; \ \ @@ -34,13 +34,13 @@ RUN set -eux; \ case "$arch" in \ # arm64v8 arm64 | aarch64) \ - downloadUrl=https://download.java.net/java/early_access/jdk16/30/GPL/openjdk-16-ea+30_linux-aarch64_bin.tar.gz; \ - downloadSha256=82cc271dfc10530a176b89f20ad2bcbc9733b78f39e3997ac54132956ce53ff1; \ + downloadUrl=https://download.java.net/java/early_access/jdk17/3/GPL/openjdk-17-ea+3_linux-aarch64_bin.tar.gz; \ + downloadSha256=eacf61fc385681aa56993d5a326acbdb2d40658fb741a7c5b45b002f335262ad; \ ;; \ # amd64 amd64 | i386:x86-64) \ - downloadUrl=https://download.java.net/java/early_access/jdk16/30/GPL/openjdk-16-ea+30_linux-x64_bin.tar.gz; \ - downloadSha256=01ef449013825308ac144c91fbbbadd9562b084d6e17cd8d428a088386707556; \ + downloadUrl=https://download.java.net/java/early_access/jdk17/3/GPL/openjdk-17-ea+3_linux-x64_bin.tar.gz; \ + downloadSha256=fa2562dcc7bf374fc91c01dc722032147ea7553f961a250f8ae7348e6091dabc; \ ;; \ # fallback *) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;; \ diff --git a/16/jdk/slim-buster/Dockerfile b/17/jdk/slim-buster/Dockerfile similarity index 88% copy from 16/jdk/slim-buster/Dockerfile copy to 17/jdk/slim-buster/Dockerfile index d37897f..bb1bf1c 100644 --- a/16/jdk/slim-buster/Dockerfile +++ b/17/jdk/slim-buster/Dockerfile @@ -11,7 +11,7 @@ RUN set -eux; \ # Default to UTF-8 file.encoding ENV LANG C.UTF-8 -ENV JAVA_HOME /usr/local/openjdk-16 +ENV JAVA_HOME /usr/local/openjdk-17 ENV PATH $JAVA_HOME/bin:$PATH # backwards compatibility shim @@ -21,7 +21,7 @@ RUN { echo '#/bin/sh'; echo 'echo "$JAVA_HOME"'; } > /usr/local/bin/docker-java- # > # > Java Development Kit builds, from Oracle # > -ENV JAVA_VERSION 16-ea+30 +ENV JAVA_VERSION 17-ea+3 RUN set -eux; \ \ @@ -30,13 +30,13 @@ RUN set -eux; \ case "$arch" in \ # arm64v8 arm64 | aarch64) \ - downloadUrl=https://download.java.net/java/early_access/jdk16/30/GPL/openjdk-16-ea+30_linux-aarch64_bin.tar.gz; \ - downloadSha256=82cc271dfc10530a176b89f20ad2bcbc9733b78f39e3997ac54132956ce53ff1; \ + downloadUrl=https://download.java.net/java/early_access/jdk17/3/GPL/openjdk-17-ea+3_linux-aarch64_bin.tar.gz; \ + downloadSha256=eacf61fc385681aa56993d5a326acbdb2d40658fb741a7c5b45b002f335262ad; \ ;; \ # amd64 amd64 | i386:x86-64) \ - downloadUrl=https://download.java.net/java/early_access/jdk16/30/GPL/openjdk-16-ea+30_linux-x64_bin.tar.gz; \ - downloadSha256=01ef449013825308ac144c91fbbbadd9562b084d6e17cd8d428a088386707556; \ + downloadUrl=https://download.java.net/java/early_access/jdk17/3/GPL/openjdk-17-ea+3_linux-x64_bin.tar.gz; \ + downloadSha256=fa2562dcc7bf374fc91c01dc722032147ea7553f961a250f8ae7348e6091dabc; \ ;; \ # fallback *) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;; \ diff --git a/15/jdk/windows/nanoserver-1809/Dockerfile b/17/jdk/windows/nanoserver-1809/Dockerfile similarity index 81% copy from 15/jdk/windows/nanoserver-1809/Dockerfile copy to 17/jdk/windows/nanoserver-1809/Dockerfile index ae8d9e2..e654867 100644 --- a/15/jdk/windows/nanoserver-1809/Dockerfile +++ b/17/jdk/windows/nanoserver-1809/Dockerfile @@ -2,7 +2,7 @@ FROM mcr.microsoft.com/windows/nanoserver:1809 SHELL ["cmd", "/s", "/c"] -ENV JAVA_HOME C:\\openjdk-15 +ENV JAVA_HOME C:\\openjdk-17 # "ERROR: Access to the registry path is denied." USER ContainerAdministrator RUN echo Updating PATH: %JAVA_HOME%\bin;%PATH% \ @@ -13,9 +13,9 @@ USER ContainerUser # > # > Java Development Kit builds, from Oracle # > -ENV JAVA_VERSION 15.0.1 +ENV JAVA_VERSION 17-ea+3 -COPY --from=openjdk:15.0.1-jdk-windowsservercore-1809 $JAVA_HOME $JAVA_HOME +COPY --from=openjdk:17-ea-3-jdk-windowsservercore-1809 $JAVA_HOME $JAVA_HOME RUN echo Verifying install ... \ && echo javac --version && javac --version \ diff --git a/16/jdk/windows/windowsservercore-1809/Dockerfile b/17/jdk/windows/windowsservercore-1809/Dockerfile similarity index 91% copy from 16/jdk/windows/windowsservercore-1809/Dockerfile copy to 17/jdk/windows/windowsservercore-1809/Dockerfile index 86b5c44..4e66839 100644 --- a/16/jdk/windows/windowsservercore-1809/Dockerfile +++ b/17/jdk/windows/windowsservercore-1809/Dockerfile @@ -16,7 +16,7 @@ RUN Write-Host 'Enabling TLS 1.2 (https://githubengineering.com/crypto-removal-n New-ItemProperty -Path ('{0}/Server' -f $tls12RegBase) -Name 'DisabledByDefault' -PropertyType DWORD -Value 0 -Force; \ New-ItemProperty -Path ('{0}/Server' -f $tls12RegBase) -Name 'Enabled' -PropertyType DWORD -Value 1 -Force -ENV JAVA_HOME C:\\openjdk-16 +ENV JAVA_HOME C:\\openjdk-17 RUN $newPath = ('{0}\bin;{1}' -f $env:JAVA_HOME, $env:PATH); \ Write-Host ('Updating PATH: {0}' -f $newPath); \ # Nano Server does not have "[Environment]::SetEnvironmentVariable()" @@ -26,9 +26,9 @@ RUN $newPath = ('{0}\bin;{1}' -f $env:JAVA_HOME, $env:PATH); \ # > # > Java Development Kit builds, from Oracle # > -ENV JAVA_VERSION 16-ea+30 -ENV JAVA_URL https://download.java.net/java/early_access/jdk16/30/GPL/openjdk-16-ea+30_windows-x64_bin.zip -ENV JAVA_SHA256 dda46edfa60395c2e69393cc8e0e757418ad9dd1ddf16aae446fe295f54eeffa +ENV JAVA_VERSION 17-ea+3 +ENV JAVA_URL https://download.java.net/java/early_access/jdk17/3/GPL/openjdk-17-ea+3_windows-x64_bin.zip +ENV JAVA_SHA256 6208dba1b22a0c2cbe91bf4073bf19b551c402667b71bbaa4f91ab0445b89e5a RUN Write-Host ('Downloading {0} ...' -f $env:JAVA_URL); \ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ diff --git a/16/jdk/windows/windowsservercore-ltsc2016/Dockerfile b/17/jdk/windows/windowsservercore-ltsc2016/Dockerfile similarity index 91% copy from 16/jdk/windows/windowsservercore-ltsc2016/Dockerfile copy to 17/jdk/windows/windowsservercore-ltsc2016/Dockerfile index 3e59b46..09f1b0e 100644 --- a/16/jdk/windows/windowsservercore-ltsc2016/Dockerfile +++ b/17/jdk/windows/windowsservercore-ltsc2016/Dockerfile @@ -16,7 +16,7 @@ RUN Write-Host 'Enabling TLS 1.2 (https://githubengineering.com/crypto-removal-n New-ItemProperty -Path ('{0}/Server' -f $tls12RegBase) -Name 'DisabledByDefault' -PropertyType DWORD -Value 0 -Force; \ New-ItemProperty -Path ('{0}/Server' -f $tls12RegBase) -Name 'Enabled' -PropertyType DWORD -Value 1 -Force -ENV JAVA_HOME C:\\openjdk-16 +ENV JAVA_HOME C:\\openjdk-17 RUN $newPath = ('{0}\bin;{1}' -f $env:JAVA_HOME, $env:PATH); \ Write-Host ('Updating PATH: {0}' -f $newPath); \ # Nano Server does not have "[Environment]::SetEnvironmentVariable()" @@ -26,9 +26,9 @@ RUN $newPath = ('{0}\bin;{1}' -f $env:JAVA_HOME, $env:PATH); \ # > # > Java Development Kit builds, from Oracle # > -ENV JAVA_VERSION 16-ea+30 -ENV JAVA_URL https://download.java.net/java/early_access/jdk16/30/GPL/openjdk-16-ea+30_windows-x64_bin.zip -ENV JAVA_SHA256 dda46edfa60395c2e69393cc8e0e757418ad9dd1ddf16aae446fe295f54eeffa +ENV JAVA_VERSION 17-ea+3 +ENV JAVA_URL https://download.java.net/java/early_access/jdk17/3/GPL/openjdk-17-ea+3_windows-x64_bin.zip +ENV JAVA_SHA256 6208dba1b22a0c2cbe91bf4073bf19b551c402667b71bbaa4f91ab0445b89e5a RUN Write-Host ('Downloading {0} ...' -f $env:JAVA_URL); \ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ diff --git a/update.sh b/update.sh index aa375c5..0ab58af 100755 --- a/update.sh +++ b/update.sh @@ -186,7 +186,7 @@ for javaVersion in "${versions[@]}"; do done ;; - 14 | 15 | 16) + 14 | 15 | 16 | 17) downloadSource='oracle' possibleArches=( ```

Feel free to let me know if you get stuck or would rather we take care of this!

marchof commented 3 years ago

Thanks for the explanation! I tried this in PR #443.