ppkarwasz opened a new pull request, #48: URL: https://github.com/apache/commons-xml/pull/48
Every open PR and `main` itself are currently red. Three jobs fail everywhere, all of them JDK 8: - `build (ubuntu-latest, semeru 8)` - `build (ubuntu-latest, zulu 8.0.201)` - `build (windows-latest, temurin 8)` ``` javadoc: warning - Error fetching URL: https://jakarta.ee/specifications/platform/8/apidocs/ An error has occurred in Javadoc report generation: Project contains Javadoc Warnings ``` That `<link>` comes from `commons-parent`, which also sets `failOnWarnings=true`, so a single warning fails the build. JDK 8's `javadoc` can no longer fetch the URL; JDK 9+ can. Nothing in any branch causes it: a dependabot version bump fails identically, and `main` was green through 2026-08-18 then went red on 2026-08-20 with no relevant code change. ## Run Javadoc once, not eleven times Every non-GraalVM matrix entry runs bare `mvn`, falling through to `<defaultGoal>`, so Javadoc is generated eleven times across seven JDK majors and two operating systems. Javadoc's warnings and doclint rules shift between releases, so that arrangement lets one JDK's quirk fail ten unrelated builds. The build job now gets an explicit goal list without `javadoc:javadoc`, and a single `javadoc` job runs it on temurin 25. `<defaultGoal>` deliberately keeps `javadoc:javadoc`, so a bare local `mvn` still checks it as README.md and CONTRIBUTING.md instruct; only CI overrides the list, and the two need to stay in sync. ## SpotBugs was never running Noticed while reordering the same line. `spotbugs:check` ran second, right after `clean`, before anything was compiled. It forks only the `spotbugs` goal (`executeGoal`, no `executePhase`), and nothing binds SpotBugs to a lifecycle phase, so it analyzed an empty `target/classes` and passed vacuously on every build: ``` $ mvn clean spotbugs:check [INFO] No files found to run spotbugs; check compile phase has been run. [INFO] BUILD SUCCESS ``` Given compiled classes it analyzes 34. Moving `spotbugs:check` after `verify` fixes it. Checkstyle, PMD and Javadoc read sources rather than bytecode, so they stay ahead of `verify` and keep failing fast before the seven-execution surefire matrix. It reports no findings once it actually runs, so nothing else needed fixing here. ## Verified Locally, on the exact commands CI will run: - `mvn clean javadoc:javadoc` (the new job): green - `mvn clean checkstyle:check pmd:check verify spotbugs:check` (the matrix list): all seven surefire executions green, SpotBugs analyzing - `mvn` (bare, reordered default goal): green Expected here: the three JDK 8 jobs go green, a new `javadoc (windows-latest, temurin 25)` check appears, and the rest stay green. ## Notes - The `jakarta.ee` link is untouched, so the new Javadoc job still depends on that fetch succeeding, now for one job instead of eleven. This project uses only `javax.xml.*` and no Jakarta EE API, so a `<commons.javadoc.javaee.link>` override would drop the dependency entirely if the job proves flaky. Left out deliberately. - Javadoc is no longer checked under JDK 8/11/17/21/26/27-ea. That is the point; release artifacts are built on a modern JDK. - `src/conf/spotbugs-exclude-filter.xml` still excludes an `NP_LOAD_OF_KNOWN_NULL_VALUE` finding that no longer fires. Left alone, but it looks stale now that SpotBugs actually runs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
