Skip to content

Enable Javadoc doclint (all,-missing) and fail on warnings#734

Open
vharseko wants to merge 2 commits into
OpenIdentityPlatform:masterfrom
vharseko:enable-javadoc-doclint
Open

Enable Javadoc doclint (all,-missing) and fail on warnings#734
vharseko wants to merge 2 commits into
OpenIdentityPlatform:masterfrom
vharseko:enable-javadoc-doclint

Conversation

@vharseko

Copy link
Copy Markdown
Member

What

Turn Javadoc doclint back on and keep it clean.

  • Replace <doclint>none</doclint> with a single inherited property
    <doclint>all,-missing</doclint> + <doclint>${doclint}</doclint>, and drop
    the per-module duplicates.
  • Bump maven-javadoc-plugin 3.11.23.12.0 and enable
    <failOnWarnings>true</failOnWarnings>.
  • Fix every doclint error and warning across all modules on both JDK 11
    and JDK 26
    (JDK 11's doclint is stricter about a bare >):
    escape bare &, <, >; <tt><code>; <br/><br>; drop
    self-closing <p/> and empty <p>; fix heading hierarchy, broken {@link}
    references, malformed HTML and ASCII diagrams; add missing @param/@throws
    descriptions.
  • Config generator fixes: clientMO.xsl / serverMO.xsl now emit
    <code>null</code> / <code>true</code>; fix two <adm:synopsis>> typos in
    the HTTP*Authorization configuration XML; reword an LDAP filter example to
    avoid a bare &.

Message classes / commons dependency

The generated i18n *Messages classes derive their Javadoc from message text
(which may contain runtime HTML). Instead of excluding them, this relies on the
HTML-escaping message generator from OpenIdentityPlatform/commons#271, so:

  • commons.version is bumped to 3.1.2-SNAPSHOT (same as Bump org.openidentityplatform.commons to 3.1.2-SNAPSHOT #733), and
  • org.openidentityplatform.commons.i18n-framework:maven-plugin is pinned to
    ${commons.version} so generate-messages actually uses the escaping
    generator (its version was previously unspecified and floated to the latest
    release).

Depends on OpenIdentityPlatform/commons#271 being available (merged/released
as 3.1.2). Until then the escaping generator must be built locally.

Verification

mvn clean install on JDK 11 and JDK 26: 24/24 modules,
0 doclint errors, 0 warnings, 18 javadoc jars.

- Replace <doclint>none</doclint> with a single inherited property
  <doclint>all,-missing</doclint> + <doclint>${doclint}</doclint>; drop the
  per-module duplicates.
- Bump maven-javadoc-plugin 3.11.2 -> 3.12.0 and enable
  <failOnWarnings>true</failOnWarnings>.
- Fix every doclint error and warning across all modules on both JDK 11 and
  JDK 26: escape bare &, < and > in comments; <tt> -> <code>; <br/> -> <br>;
  drop self-closing <p/> and empty <p>; fix heading hierarchy, broken {@link}
  references, malformed HTML and ASCII diagrams; add missing @param/@throws
  descriptions.
- Fix the config generator: clientMO.xsl / serverMO.xsl emit <code>null</code>
  and <code>true</code>; fix two <adm:synopsis>> typos in the HTTP*Authorization
  configuration XML; reword an LDAP filter example to avoid a bare &.
- Pin org.openidentityplatform.commons.i18n-framework:maven-plugin to
  ${commons.version} and bump commons to 3.1.2-SNAPSHOT so message descriptor
  classes are generated with the HTML-escaping generator
  (OpenIdentityPlatform/commons#271); remove the **/*Messages.java Javadoc
  exclusion.

Verified with mvn clean install on JDK 11 and JDK 26: 24/24 modules,
0 doclint errors, 0 warnings.
@vharseko vharseko requested a review from maximthomas July 11, 2026 17:46
@vharseko vharseko added docs build java Pull requests that update java code dependencies Pull requests that update a dependency file labels Jul 11, 2026
…7-21

- .gitattributes: force *.html to LF so JDK 25/26 doclint on Windows does
  not treat the CR of a CRLF as part of a multi-line <a> start tag
  (opendj-core overview.html: "unknown tag: a").
- MessageHandler#isLastMessageFromLateQueue: {@link #getNextMessage()} ->
  {@code getNextMessage()}; the enclosing class is package-private, so
  JDK 17-21 doclint reports "reference not accessible".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build dependencies Pull requests that update a dependency file docs java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant