RFR: 8311302: Implement JEP 493: Linking Run-Time Images without JMODs [v40]
Mark Reinhold
mr at openjdk.org
Mon Oct 28 14:19:48 UTC 2024
On Fri, 25 Oct 2024 19:54:37 GMT, Mandy Chung <mchung at openjdk.org> wrote:
>> Severin Gehwolf has updated the pull request incrementally with five additional commits since the last revision:
>>
>> - Better handle patched modules
>>
>> Also add a test which ensures that module patching (if present), will
>> get an appropriate error message.
>> - Add /othervm to some langtools tier1 tests
>>
>> Those tests are using module patches from JTREG. Since the run-time
>> image based link uses ModuleFinder.ofSystem(), which will see the extra
>> classes comming from the module patch. Then the size look-up using the
>> JRT FS provider fails, since that only looks in the module image
>> (lib/modules) and NOT also in the patch. Thus, we get a
>> NoSuchFileException and the link fails.
>>
>> Run the tests with othervm so that the JTREG patch'ed module isn't
>> visible to the test.
>> - Fix tests for builds with --enable-linable-runtime
>>
>> Those builds don't include the packaged modules, `jmods` directory.
>> However, some tests assume that they're there. Add appropriate requires
>> tag.
>> - Fix provider verification when some JMODs are present
>>
>> In some configurations, e.g. when java.base is missing from the packaged
>> modules, but another JDK module is present as JMOD that is linked into
>> an image, then provider verification can fail. Thus, the run-time image
>> link fails. Verify that this doesn't happen.
>>
>> The fix is to return Platform.runtime() for run-time image based links
>> as well. Otherwise this code would return the wrong result.
>> - Show run-time image based capability in help
>>
>> Also add a test for it when it's turned on and off.
>
> src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink.properties line 119:
>
>> 117: warn.prefix=Warning:
>> 118:
>> 119: err.runtime.link.not.linkable.runtime=The current run-time image does not support run-time linking.
>
> should we use "runtime" instead of "run-time" in the help message and errors/warnings? "runtime" is already used in the messages in this file.
Prefer “run-time” when it’s an adjective (e.g., “run-time image”); prefer “runtime” when it’s a noun (e.g., “the Java runtime”).
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14787#discussion_r1819154739
More information about the build-dev
mailing list