On Wed, 18 May 2022 06:30:34 GMT, Adam Sotona <asot...@openjdk.org> wrote:

>> ### Problem description
>> Minimal jdk image created by jlink with the only jdk.compiler module and its 
>> dependencies
>> fails to run java source launcher correctly (for example when --source N is 
>> specified).
>> Failing source launcher is only one the expressions of internal jdk.compiler 
>> malfunction, another example is failure to run javac with --release option.
>> ### Root cause
>> Module jdk.compiler requires zip filesystem (jdk.zipfs module) to parse 
>> ct.sym file and so to provide full functionality.
>> Module jdk.zipfs is not included in the minimal JDK image, because module 
>> jdk.compiler does not declare it as "requires" in its module info.
>> ### Alternative patch
>> The problem can be alternatively resolved by complex code checks in 
>> jdk.compiler to provide user with valid error message, however that solution 
>> would be just a workaround for jdk.compiler dual functionality (with or 
>> without presence of jdk.zipfs module). Compiler functionality without access 
>> to ct.sym through jdk.zipfs is very limited. 
>> ### Proposed fix
>> This patch fixes the problem by explicit declaration of jdk.compiler 
>> dependency on jdk.zipfs.
>> Plus added specific test case.
>> Please review the patch or raise objections against declaration of 
>> jdk.compiler dependent on jdk.zipfs.
>> Thanks,
>> Adam
> Adam Sotona has updated the pull request incrementally with one additional 
> commit since the last revision:
>   corrected LimitedImage test description

Followup issues to narrow the situation with optional module dependencies have 
been filled:
- [8287559: Jlink should warn user about unsatisfied optional modules 
- [8287560: jdk.compiler dependency on jdk.zipfs should be declared as 

Please review if you agree with actual patch adding jdk.compiler dependency on 


PR: https://git.openjdk.java.net/jdk/pull/8747

Reply via email to