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 \