Uh oh!
There was an error while loading. Please reload this page.
Let one package-info stand per package, and aggregate Javadoc before the merge - #899
Open
vharseko wants to merge 1 commit into
Open
Conversation
…the merge Four packages under org.opends.server and the examples package were each declared by a package-info.java in two modules at once, which javadoc reports as "a package-info.java file has already been seen". With failOnWarnings set on the plugin, that failed javadoc:aggregate on every deploy run since OpenIdentityPlatform#734. Keep the richer copy of each, folding in the one sentence the other said on its own. Per-module javadoc:jar during verify only ever sees one module, so it cannot report this, and the only aggregate ran after the merge under continue-on-error, where it blocked nothing. Run it on one build.yml cell instead.
maximthomas
approved these changes
Aug 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What broke
mvn javadoc:aggregateindeploy.ymlhas failed on every Package/Deploy run since #734 turned onfailOnWarnings:All five are the same warning —
a package-info.java file has already been seen for package …— because five packages are each declared by apackage-info.javain two modules at once:org.opends.server.apiopendj-legacy+opendj-server-legacyorg.opends.server.schemaorg.opends.server.backends.jeborg.opends.server.replication.pluginorg.forgerock.opendj.examplesopendj-ldap-sdk-examples+opendj-embedded-server-examplesPer-module
javadoc:jarnever sees this — each module only reads its own sources. Only the root aggregate feeds every module's source roots to one javadoc run, and there the same package arrives twice.The
<failOnWarnings>true</failOnWarnings>sits at plugin level in the parent pom, so it applies to the CLIdefault-cliexecution too, not just the boundattach-javadocsone.Why nobody noticed
The
Build Javadocstep carriescontinue-on-error: true, so the job stayed green and javadoc still emitted its ~5900 files before the plugin complained — the doc site kept publishing. Only a red annotation on the step marked it. Same annotation on runs 32478804616, 31605387204 and 31206191853.And
build.ymlcould not catch it: it runsmvn verify, andjavadoc:aggregateappears in no workflow butdeploy.yml.The change
Drop the duplicate
package-info.java. Only these five files were duplicated — no classes overlap between the module pairs. In every case the surviving copy is the richer one (full text plus@PublicAPI); the one sentence that lived only in the deleted copy is folded into the survivor:opendj-server-legacy/…/backends/jeb/package-info.javagains "These classes are here just to support upgrade and are deprecated."opendj-ldap-sdk-examples/…/examples/package-info.javanow also names the Embedded Server API.All four
opendj-legacypackages keep real classes (42 inschema, 1–2 in the rest) — only the doc-only stubs go.Gate the aggregate on
build.yml. Thejavadoc:aggregategoal is appended to the existingmvn … verifyinvocation on the ubuntu / Java 11 cell — the platform and JDKdeploy.ymlaggregates with.deploy.ymlis left as it is: the pre-merge gate is the right place for this to fail.Verification
mvn javadoc:aggregatewith the pom's own settings (doclint=all,-missing,failOnWarnings=true) — BUILD SUCCESS, 5884 HTML files, zeroalready been seenwarnings. WithfailOnWarningsactive, a green run is itself the proof that no javadoc warning is left.