On Tue, 17 Dec 2024 11:45:56 GMT, Severin Gehwolf <sgehw...@openjdk.org> wrote:

>> Please review this extension to #22609 which now disallows `ALL-MODULE-PATH` 
>> without explicit `--module-path` option or a non-existent module path. In 
>> addition, this fixes a bug mentioned in #22609 when `ALL-MODULE-PATH` and 
>> `--limit-modules` are used in combination. It failed earlier and passes now 
>> due to alignment of `ModuleFinder`s. With this patch JEP 493 enabled builds 
>> and regular JDK builds behave the same in terms of `ALL-MODULE-PATH`.
>> 
>> 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 
>> various cases and existing tests updated to allow for them to run on JEP 493 
>> enabled builds. Thoughts?
>> 
>> Testing:
>> - [x] GHA, `test/jdk/tools/jlink` (all pass)
>> - [x] Added jlink test.
>
> Severin Gehwolf has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Fix comments

I think it helps to think of `--add-modules ALL-MODULE-PATH` as `--add-modules 
java.base,java.compiler,java.datatransfer, .. jdk.xml.dom,jdk.zipfs`.

This leads `jlink --add-modules ALL-MODULE-PATH --limit-modules jdk.net` to 
create an image with "all modules". This may be surprising on first glance but 
it's the recursive enumeration so `jdk.net` (which is just `jdk.net` and 
`java.base`), plus the modules specified to `--add-modules`.

Note that we have issues at run-time with this combination, and at run-time 
there are other possible tokens that can be used too. Not for here, this issue 
has always existed.

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

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

Reply via email to