Integrated: 8286571: java source launcher from a minimal jdk image containing jdk.compiler fails with --enable-preview option
Adam Sotona
asotona at openjdk.java.net
Tue Jun 7 13:43:07 UTC 2022
On Tue, 17 May 2022 12:47:25 GMT, Adam Sotona <asotona at 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
This pull request has now been integrated.
Changeset: 905bcbe3
Author: Adam Sotona <asotona at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/905bcbe34eb9750f6f7f12a577733c71a31d7972
Stats: 76 lines in 3 files changed: 29 ins; 37 del; 10 mod
8286571: java source launcher from a minimal jdk image containing jdk.compiler fails with --enable-preview option
Reviewed-by: jlahoda
-------------
PR: https://git.openjdk.java.net/jdk/pull/8747
More information about the compiler-dev
mailing list