RFR: 8317620: Build JDK tools with ModuleMainClass attribute [v2]

Alan Bateman alanb at openjdk.org
Thu Nov 2 16:30:08 UTC 2023


On Thu, 2 Nov 2023 16:19:35 GMT, Mandy Chung <mchung at openjdk.org> wrote:

>> Tool modules can be created via `jmod --main-class` option such that `ModuleMainClass` attribute will be added in `module-info.class` and the module's main class can be launched via `java -m <module-name>` without specifying the name of the main class.
>> 
>> In addition, for modules with `ModuleMainClass` attribute, jlink will pre-resolve the module graph such that when such module is launched at runtime (without `--add-modules` or `--limit-modules` option), the runtime can skip the module resolution and speed up the startup time.
>> 
>> This PR extends the build system to allow a module to specify the main class under `make/modules/$MODULE/Jmod.gmk` file.    Also JDK tools with a single entry point (or a primary entry point) are candidates to add `ModuleMainClass` attribute in `module-info.class` to benefit from the jlink optimization.   For example, `java -m jdk.jpackage` will be launched using the pre-resolved module graph.
>> 
>> Verified manually by running `java -m $MODULE` on the modules with main class.
>
> Mandy Chung has updated the pull request incrementally with one additional commit since the last revision:
> 
>   review feedbacks

Marked as reviewed by alanb (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/16463#pullrequestreview-1710747941


More information about the build-dev mailing list