desruisseaux commented on PR #1378: URL: https://github.com/apache/maven/pull/1378#issuecomment-1902173221
Applied most of above comments (still thinking for a solution about the two remaining ones). The build continues to fail on Java 11, again because of Javadoc, but this new error is more annoying. The error message is _"Header used out of sequence: `<H4>`"_. This error happens when HTML title headers are used in Javadoc for clear separation of sections. Javadoc verifies that the numbers are used in sequential order: `<H4>` inside `<H3>`, themselves inside `<H2>`, _etc_. A difficulty is that Javadoc uses `<H1>`, `<H2>`, _etc._ for its own purpose, so the first level available in the Javadoc of a method starts at `<H4>`. Javadoc verifies that we use the proper level, which is good. The problem is that the expected level changed somewhere between Java 11 and Java 17 (I think it was around Java 13). Java 13 (approximately) and later expects `<H4>`. Java 11 expected something else. All versions raise an error when the HTML header level is not what they expected. So it is impossible (as far as I know) to have a code compilable on both Java 11 and Java 17 when HTML headers are used in Javadoc and Javadoc checks are enabled. If compilation or Javadoc generation passes on one, it fails on the other. Workaround can be one of the following: * Do not use HTML headers. * Disable Javadoc checks. * Requires Java 17 for compilation but target Java 11 or 8 with `--release` option. Which approach should we take? The last one would be the one allowing most gradual transition to newest Java versions (by allowing the use of most recent conventions right now) while preserving compatibility. -- 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: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org