git: openjdk/leyden: hermetic-java-runtime: - Use the path specified by `--out` for hermetic image, i.e. the hermetic image is no longer named as 'modules' with the current change.

duke duke at openjdk.org
Fri Apr 4 22:02:46 UTC 2025


Changeset: 1ee3cfa2
Branch: hermetic-java-runtime
Author:    Jiangli Zhou <jianglizhou at google.com>
Date:      2025-04-04 14:50:06 +0000
URL:       https://git.openjdk.org/leyden/commit/1ee3cfa2f9f8b7197812e9ab120d16335d976a8e

- Use the path specified by `--out` for hermetic image, i.e. the hermetic image is no longer named as 'modules' with the current change.
- Set executable permission for the hermetic image.

For example, with the following jlink command, it creates a single hermetic executable image named as `demo-image`:

```
/<snip>/jianglizhou/github/hermetic-linking/build/linux-x86_64-server-slowdebug/jdk/bin/jlink --hermetic --link-hermetic-image=/<snip>/jianglizhou/github/hermetic-linking/build/linux-x86_64-server-slowdebug/images/static-jdk/bin/java -J-Djlink.debug=true --module-path "/<snip>/jianglizhou/github/hermetic-linking/build/linux-x86_64-server-slowdebug/images/jmods" --endian little --release-info /<snip>/jianglizhou/github/hermetic-linking/build/linux-x86_64-server-slowdebug/jdk/release --order-resources=**module-info.class,@/<snip>/jianglizhou/github/hermetic-linking/build/linux-x86_64-server-slowdebug/support/link_opt/classlist,/java.base/java/**,/java.base/jdk/**,/java.base/sun/**,/java.base/com/**,/jdk.localedata/** --dedup-legal-notices=error-if-not-same-content --hermetic-resources /java.base/conf/security/java.security=/java.base/java/security/java.security,/java.logging/conf/logging.properties=/java.logging/java/util/logging/logging.properties,/java.base/conf/net.properties=/java.
 base/sun/net/net.properties,/java.desktop/lib/psfont.properties.ja=/java.desktop/sun/print/psfont.properties.ja,/java.desktop/lib/psfontj2d.properties=/java.desktop/sun/print/psfontj2d.properties,/java.base/lib/security/blocked.certs=/java.base/sun/security/util/blocked.certs,/java.base/lib/security/cacerts=/java.base/sun/security/util/cacerts,/java.base/lib/security/public_suffix_list.dat=/java.base/sun/security/util/public_suffix_list.dat,/java.base/lib/security/default.policy=/java.base/sun/security/provider/default.policy,/java.base/conf/security/java.policy=/java.base/sun/security/provider/java.policy,/java.base/conf/security/policy/limited/default_US_export.policy=/java.base/javax/crypto/limited_default_US_export.policy,/java.base/conf/security/policy/limited/default_local.policy=/java.base/javax/crypto/limited_default_local.policy,/java.base/conf/security/policy/limited/exempt_local.policy=/java.base/javax/crypto/limited_exempt_local.policy,/java.base/conf/security/policy/unl
 imited/default_US_export.policy=/java.base/javax/crypto/unlimited_default_US_export.policy,/java.base/conf/security/policy/unlimited/default_local.policy=/java.base/javax/crypto/unlimited_default_local.policy --generate-jli-classes=@/<snip>/jianglizhou/github/hermetic-linking/build/linux-x86_64-server-slowdebug/support/link_opt/default_jli_trace.txt --add-modules demo --keep-packaged-modules /<snip>/jianglizhou/github/hermetic-linking/build/linux-x86_64-server-slowdebug/images/jdk/jmods1 --output demo-image
```

! src/jdk.jlink/share/classes/jdk/tools/jlink/builder/DefaultImageBuilder.java
! src/jdk.jlink/share/classes/jdk/tools/jlink/builder/ImageBuilder.java
! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImageFileCreator.java
! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginConfiguration.java
! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginStack.java
! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java
! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/TaskHelper.java



More information about the leyden-dev mailing list