Hi all, I might have spoken too soon in my last October email [1]. Ever since, I've been having a hell of a time trying to get Gradle's so-called „shaded“ API jar to play nicely with the other modules in my JPMS-build-enabling Gradle plugin [2]
For some reason, Gradle's generated artifact redundantly duplicates all the packages of two modules from the JDK: javax.xml and jdk.xml.dom. Any other modules in the module path that read packages in either of those two system modules breaks the JPMS with your classic split package error: ---- $ java -ea src\eg\UnPatchable.java Exception in thread "main" java.lang.module.ResolutionException: Modules gradle.api and java.xml export package javax.xml.transform to module com.github.javaparser.symbolsolver.core at java.base/java.lang.module.Resolver.resolveFail(Resolver.java:885) at java.base/java.lang.module.Resolver.failTwoSuppliers(Resolver.java:797) at java.base/java.lang.module.Resolver.checkExportSuppliers(Resolver.java:718) at java.base/java.lang.module.Resolver.finish(Resolver.java:362) at java.base/java.lang.module.Configuration.<init>(Configuration.java:141) at java.base/java.lang.module.Configuration.resolve(Configuration.java:424) at java.base/java.lang.module.Configuration.resolve(Configuration.java:256) at eg.UnPatchable.main(UnPatchable.java:21) ---- Or the same failure but with a different message: ---- $ java -ea --module-path lib src\eg\UnPatchable.java Error occurred during initialization of boot layer java.lang.module.ResolutionException: Module gradle.api contains package org.xml.sax, module java.xml exports package org.xml.sax to gradle.api ---- What the subject of this email is about, is that even attempting to patch the Gradle API jar does not fix the split package problem: ---- $ java -ea --module-path lib --add-modules ALL-MODULE-PATH \ --patch-module java.xml=lib\gradle-api-6.0-rc-2.jar \ --patch-module jdk.xml.dom=lib\gradle-api-6.0-rc-2.jar; \ --patch-module gradle.api=com.github.javaparser.symbolsolver.core src\eg\UnPatchable.java Error occurred during initialization of boot layer java.lang.module.ResolutionException: Modules gradle.api and java.xml export package javax.xml.validation to module com.github.javaparser.symbolsolver.core ---- Those errors are reproducible with these steps: 1. Download, unzip and cd into the attached example project [3] 2. From a terminal, enter the commands I entered in the snippets above I'm hoping that it's not as bad as I think it is. Hopefully, it's nothing worse than I just haven't learned what the right command is to fix this. Please, can jigsaw-dev shed some light on this so far intractable problem? TIA. ---- [1] http://bit.ly/014298 [2] http://bit.ly/mrJar [3] http://bit.ly/014309zip