Skip to content

CI does not run Javadoc, so doclint guards nothing #46

Description

@paulhoadley

#36 removed -Xdoclint:none from the POM, so Javadoc lint is enforced again. But #20 had unbound the javadoc plugin from package to keep builds fast, and both workflows run mvn --batch-mode --update-snapshots verify, which therefore never invokes javadoc.

The result is that doclint only runs when someone remembers to type mvn javadoc:javadoc. A Javadoc regression reaches master unnoticed, which makes #36's last step decorative.

Verified at the 0.7 release: breaking a @param deliberately fails mvn javadoc:javadoc locally, and CI stays green.

Options, roughly in order of preference:

  • Add javadoc:javadoc to the workflow's Maven invocation. One line, keeps the plugin unbound for ordinary local builds, and costs a few seconds per CI run.
  • Bind javadoc to verify in the POM. Catches it for everyone, but puts the cost back on every local build, which is what POM hygiene: release flag, plugin pins, metadata, unused dependency #20 removed.
  • Add a separate workflow job so a Javadoc failure is distinguishable from a test failure at a glance.

Noticed while releasing 0.7, and deliberately not fixed then, to keep a CI change out of a release commit.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions