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