RFR: 8345259: When linking from the run-time image ALL-MODULE-PATH is not accepted

Severin Gehwolf sgehwolf at openjdk.org
Mon Dec 2 18:31:12 UTC 2024


Please review this bug fix for using `jlink` when linking from the run-time image. For regular JDK builds which include the `jmods` folder, that path is automatically added as the `--module-path` when not otherwise specified on the command line. For JDK builds with JEP 493 enabled, the `jmods` folder doesn't exist and the list of module roots needs to be computed from the system modules. However, since `jdk.jlink` isn't allowed to be added to the list of output modules when linking from the run-time image, the default module path doesn't include `jdk.jlink` and modules depending on `jdk.jlink`, currently only `jdk.jpackage`. This seems a sensible default since otherwise linking using ALL-MODULE-PATH fails, while it works with a JDK build including JMODs. See the bug for details about the issue.

When an explicit module path is being added, there is no difference. All modules on that path will be added as roots. Tests have been added for the same. Thoughts?

Testing:
- [x] GHA, `test/jdk/tools/jlink` (all pass)
- [x] Added jlink test.

-------------

Commit messages:
 - 8345259: When linking from the run-time image ALL-MODULE-PATH is not accepted

Changes: https://git.openjdk.org/jdk/pull/22494/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=22494&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8345259
  Stats: 184 lines in 3 files changed: 183 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/22494.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22494/head:pull/22494

PR: https://git.openjdk.org/jdk/pull/22494


More information about the core-libs-dev mailing list