RFR: 8286571: java source launcher from a minimal jdk image containing jdk.compiler fails with --enable-preview option [v3]
Adam Sotona
asotona at openjdk.java.net
Wed May 18 06:30:34 UTC 2022
> ### 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
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/8747/files
- new: https://git.openjdk.java.net/jdk/pull/8747/files/6bdf4a9a..0e55575b
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=8747&range=02
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=8747&range=01-02
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jdk/pull/8747.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/8747/head:pull/8747
PR: https://git.openjdk.java.net/jdk/pull/8747
More information about the compiler-dev
mailing list