This is an automated email from the ASF dual-hosted git repository.

mpochatkin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new c8d9b61c957 [IGNITE-27506] Change base docker image for jre to 
eclipse-temurin:25 (#7403)
c8d9b61c957 is described below

commit c8d9b61c957afc83938ba3e5c30837714c0412b6
Author: Artem Egorov <[email protected]>
AuthorDate: Tue Jan 27 17:05:16 2026 +0200

    [IGNITE-27506] Change base docker image for jre to eclipse-temurin:25 
(#7403)
---
 packaging/build.gradle      | 67 +++++++++++++++++++++++++++++++++++++++++++++
 packaging/docker/Dockerfile |  6 ++--
 2 files changed, 71 insertions(+), 2 deletions(-)

diff --git a/packaging/build.gradle b/packaging/build.gradle
index 813f0c868cd..a005cb8f6e4 100644
--- a/packaging/build.gradle
+++ b/packaging/build.gradle
@@ -83,6 +83,68 @@ def tokens = [
         ADD_OPENS           : project.addOpens.join(' ')
 ]
 
+def defaultJreModules = [
+        'java.base',
+        'java.compiler',
+        'java.datatransfer',
+        'java.desktop',
+        'java.instrument',
+        'java.logging',
+        'java.management',
+        'java.management.rmi',
+        'java.naming',
+        'java.net.http',
+        'java.prefs',
+        'java.rmi',
+        'java.scripting',
+        'java.se',
+        'java.security.jgss',
+        'java.security.sasl',
+        'java.smartcardio',
+        'java.sql',
+        'java.sql.rowset',
+        'java.transaction.xa',
+        'java.xml',
+        'java.xml.crypto',
+        'jdk.accessibility',
+        'jdk.charsets',
+        'jdk.crypto.cryptoki',
+        'jdk.dynalink',
+        'jdk.graal.compiler',
+        'jdk.graal.compiler.management',
+        'jdk.httpserver',
+        'jdk.incubator.vector',
+        'jdk.internal.vm.ci',
+        'jdk.jdwp.agent',
+        'jdk.jfr',
+        'jdk.jsobject',
+        'jdk.localedata',
+        'jdk.management',
+        'jdk.management.agent',
+        'jdk.management.jfr',
+        'jdk.naming.dns',
+        'jdk.naming.rmi',
+        'jdk.net',
+        'jdk.nio.mapmode',
+        'jdk.sctp',
+        'jdk.security.auth',
+        'jdk.security.jgss',
+        'jdk.unsupported',
+        'jdk.xml.dom',
+        'jdk.zipfs'
+]
+
+def jreModules = new HashSet<>(defaultJreModules)
+project.addOpens.each { openArg ->
+    def normalized = openArg.replaceFirst(/^--add-opens=/, '')
+    def moduleName = normalized.split('/')[0]
+    if (moduleName) {
+        jreModules.add(moduleName)
+    }
+}
+
+ext.docker_jre_modules = jreModules.toList()
+
 def replaceVars = tasks.register('replaceVars', Copy) {
     from "$rootDir/packaging/common/linux/$tokens.SETUP_JAVA_FILE_NAME"
     from "$rootDir/packaging/docker/$tokens.BOOTSTRAP_FILE_NAME"
@@ -155,6 +217,11 @@ def dockerCliPush = tasks.register('dockerCliPush', Exec) {
 docker {
     name project.docker_image_name
     dockerfile file('docker/Dockerfile')
+    buildArgs(
+        [
+            JRE_MODULES: project.docker_jre_modules.join(',')
+        ]
+    )
 
     if (project.hasProperty('target_platform')) {
         platform project.properties["target_platform"]
diff --git a/packaging/docker/Dockerfile b/packaging/docker/Dockerfile
index 8bcc852117f..6d7b745c0d9 100644
--- a/packaging/docker/Dockerfile
+++ b/packaging/docker/Dockerfile
@@ -15,10 +15,12 @@
 # limitations under the License.
 #
 
-FROM eclipse-temurin:11 AS jre-build
+FROM eclipse-temurin:25 AS jre-build
+
+ARG JRE_MODULES
 
 RUN $JAVA_HOME/bin/jlink \
-         --add-modules ALL-MODULE-PATH \
+         --add-modules ${JRE_MODULES} \
          --strip-debug \
          --no-man-pages \
          --no-header-files \

Reply via email to