RFR: 8311302: Implement JEP 493: Linking Run-Time Images without JMODs [v40]
Severin Gehwolf
sgehwolf at openjdk.org
Tue Oct 29 18:08:28 UTC 2024
On Mon, 28 Oct 2024 14:25:40 GMT, Mark Reinhold <mr 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.
>
> Please remove the trailing periods from the new messages. The existing messages don’t use them, and JDK command-line tools in general don’t use them.
Sure.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14787#discussion_r1821320821
More information about the build-dev
mailing list