### 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 the only one expression 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.
However 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).

### Proposed fix
This patch does 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

-------------

Commit messages:
 - 8286571: java source launcher from a minimal jdk image containing 
jdk.compiler fails with --enable-preview option

Changes: https://git.openjdk.java.net/jdk/pull/8747/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8747&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8286571
  Stats: 30 lines in 2 files changed: 29 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

Reply via email to