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

My humble opinion: if java.compiler needs jdk.zipfs for full functionality 
(i.e. using --source N or --release X), does that mean java.compiler is useless 
without jdk.zipfs? If there is a meaningful functionality left in java.compiler 
even without jdk.zipfs, then someone might want to use that limited subset of 
functionality and might not want to include jdk.zipfs in its image.
So what is possible to do with java.compiler without jdk.zipfs?


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

Reply via email to