Skip to content

Publish javadoc for other picocli modules #1298

@remkop

Description

@remkop

As mentioned in #1296, the API Docs for the package picocli.groovy are not up-to-date: The Groovy classes were previously in the main picocli jar, now they are in a separate picocli-groovy jar. These javadoc pages are still there from when these classes were in the picocli jar.

This task is to publish Javadoc for the other jars, not just for the picocli jar, but for all of these:

  • picocli
  • picocli-codegen
  • picocli-groovy
  • picocli-shell-jline2
  • picocli-shell-jline3
  • picocli-spring-boot-starter

One idea to deal with this is to generate javadoc for each module and copy them to subdirectories of ${PROJECT-DIR}/build/docs/apidoc in the copyDocs task in build.gradle. This would leave them as independent sets of documents, so we need to link to their top-level pages from the user manual and project README.

An alternative idea is to treat the picocli modules like Java 9 Modules and use the Java 9+ javadoc tool to generate a single interlinked set of api documents for all picocli modules.

The latter idea would introduce a dependency on Java 9 or later. Currently only Java 8 is required to build picocli. I am not sure that I want to require Java 9+ to build the project. It would be good to explore if building a single integrated set of javadoc documents can be done optionally only if the current Java version is 9 or higher.

https://xy2401.com/local-docs/oracle/java/11/javadoc/javadoc-command.html#GUID-EFE927BC-DB00-4876-808C-ED23E1AAEF7D

http://tutorials.jenkov.com/java/modules.html#migrating-to-java-9
https://github.com/tfesenko/Java-Modules-JPMS-CheatSheet
https://www.oracle.com/corporate/features/understanding-java-9-modules.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions