On Mon, 2 Dec 2024 18:25:22 GMT, Severin Gehwolf <sgehw...@openjdk.org> wrote:

> 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.

Sounds good to me.   If `--add-modules ALL-MODULE-PATH` is given, jlink will 
find all observable modules from `--module-path` and use them as the root 
modules.  If the root set is empty, error; otherwise, it will link with the 
application modules on the module path and its transitive dependences.

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

PR Comment: https://git.openjdk.org/jdk/pull/22494#issuecomment-2515384768

Reply via email to