Make picocli-codegen an explicitly declared named JPMS module #1599
Labels
theme: build
An issue or change related to the build system
theme: module
An issue or change related to JPMS modules
type: API 🔌
Milestone
It should be possible to make the
picocli-codegen
artifact a full-blown named Java 9 JPMS module, since this subproject has no dependencies other than thepicocli
artifact.What makes this tricky is that we need to build the picocli project with Java 8 in order to get Java 5 bytecode for the main
picocli.jar
artifact. We cannot use Java 9, because from Java 9 onwards thejavac
tool no longer supports-source 1.5
and-target 1.5
(the minimum becomes 1.6, and from Java 11 the minimum is 1.7).To compile the
module-info.java
files with Java 8, we use the https://github.com/beryx/badass-jar-plugin Gradle plugin.There was some issue with beryx/badass-jar 1.2.0 that meant building a modular
picocli
jar worked, but a modularpicocli-codegen
jar failed. It looks like the new 2.0.0 version does not have that problem.Result:
This is part of an effort to generate modular javadoc (#1298).
The text was updated successfully, but these errors were encountered: