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

Mandy Chung mchung at openjdk.org
Tue Dec 3 18:04:43 UTC 2024


On Tue, 3 Dec 2024 15:26:32 GMT, Alan Bateman <alanb at openjdk.org> wrote:

> ALL-MODULE-PATH means all observable modules on the module path but here, it's all observable modules minus jdk.jlink or any module that directly requires jdk.jlink. This is hard to reason about, and not exactly right either because any filtering should be any module that transitively requires jdk.jlink.

I have the same comment.  ALL-MODULE-PATH means all observable modules on the module path that includes `jdk.jlink`.  It would be confusing if the resulting image linked from the run-time image is different than the image linked from packaged modules.   I think it may just be another restriction that `--add-modules ALL-MODULE-PATH` can't be used when linking from the run-time image for now and removed together when the other restriction is removed.

> As background, the original motivation for ALL-MODULE-PATH was Maven build. It has always been supported by jlink too but I can't recall, or find, why we did that. Maybe Mandy can remember. In JEP 261, it is listed as being valid for both compile-time and run-time, but also mentions link-time.

I don't recall neither.   It might just be implemented as consistent with java and javac.

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

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


More information about the core-libs-dev mailing list