RFR: 8345259: Disallow ALL-MODULE-PATH without explicit --module-path [v7]

Mandy Chung mchung at openjdk.org
Thu Dec 12 19:24:48 UTC 2024


On Thu, 12 Dec 2024 18:30:54 GMT, Severin Gehwolf <sgehwolf at 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 with a new target base due to a merge or a rebase. The pull request now contains 31 commits:
> 
>  - Guard test execution
>  - Merge branch 'master' into jdk-8345259-all-module-path-fix
>  - More test clean-ups
>  - Merge two AllModulePath tests
>  - Better error message with no modules on mod-path and ALL-MODULE-PATH
>  - Merge branch 'jdk-8345573-runtime-link-limit-mods' into jdk-8345259-all-module-path-fix
>  - Naming fixes
>  - Remove too strong assertion
>  - Test fixes
>  - Address comments from Mandy
>  - ... and 21 more: https://git.openjdk.org/jdk/compare/ff85865b...b577b4da

test/jdk/tools/jlink/basic/AllModulePath.java line 220:

> 218:      */
> 219:     @Test
> 220:     public void modulePathWithLimitMods() throws Exception {

Is this test case different than `testLimitModules` which does

jlink --output image1 --add-modules ALL-MODULE-PATH --module-path mods --limit-modules m1


`testAddModules` also tests:


jlink --output image2 --add-modules m1,test --add-modules ALL-MODULE-PATH --module-path mods --limit-modules java.base

test/jdk/tools/jlink/basic/AllModulePath.java line 250:

> 248:      */
> 249:     @Test
> 250:     public void modulePath() throws Exception {

Any difference to `testAllModulePath` which does:


jlink --output image --add-modules ALL-MODULE-PATH --module-path mods

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22494#discussion_r1882751304
PR Review Comment: https://git.openjdk.org/jdk/pull/22494#discussion_r1882756757


More information about the core-libs-dev mailing list