Skip to content

picocli modularization #711

@remkop

Description

@remkop

Following up on #479, #495 and #674: I'm not entirely happy with the current solution for picocli modularization. Ideally, it should look more like this:

  1. Make picocli (the main jar) a full JPMS module (name info.picocli), with module-info.class in META-INF/versions/9, and no Groovy classes
  2. Add picocli-groovy subproject, make it an automatic module with name info.picocli.groovy, and move the picocli.groovy package in here
  3. Potentially (if requested by the community) add a picocli-legacy or picocli-all artifact that is not a JPMS module and has both the java and the groovy stuff) - closing for now, awaiting community feedback

Related tasks:

  • update picocli-examples to have picocli-groovy as a dependency
  • update docs: @Grab should now use picocli-groovy instead of picocli
  • generate javadoc for picocli core with a module-aware version of java - split off to Generate javadoc for picocli.jar with java 9+ #714
  • README for picocli-groovy subproject
  • update user manual for picocli-groovy artifact
  • update user manual for picocli JPMS module (link to this article?)

JCommander users may be interested in this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    theme: moduleAn issue or change related to JPMS modules

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions