Hello,

I would like to share what looks to me like an unexpected behavior of
the javadoc plugin, more specifically when run as javadoc:aggregate.


The SLF4J project uses the "Refining the BOM Pattern" variant as
explained in Garret Wilson's "Improving the BOM Pattern" [1]. More
specifically, the top level pom.xml is the BOM and project modules
import ../parent/pom.xml.

Source code is available at [2].

Also, version 2.1.0-alpha0-SNAPSHOT is a fully jigsaw modularized project.

When trying to create aggregated javadocs with the javadoc:aggreate
command, the javadoc generation would fail with javadoc complaining
about unnamed modules and other miscellaneous problems. The solution was
to skip certain modules for which there was no need to generate javadocs
to begin with.

Surprisingly, adding <skippedModules> in parent/pom.xml of the
javdoc-plugin configuration would have no effect. However, specifying
-Dmaven.javadoc.skippedModules would work as expected.

The advice commonly found on various forum about the placement of the
javadoc plugin configuration pertain to <reporting> and/or <build>
section. In my case, this advice looks irrelevant (see below).

After a lot of head scratching, placing the javadoc-plugin configuration
in the BOM, i.e. the top-level pom.xml, made the javadoc-plugin
configuration have the desired effect. This is quite surprising as the
configuration of other plugins have an effect when placed in parent/pom.xml.

To reproduce this behavior, you can check out the code of the SLF4J
project from [2] and run "mvn javadoc:aggregate". (To observe a failure
the javadoc-plugin configuration needs to commented out in top-level
pom.xml and uncommented in parent/pom.xml before running "mvn
javadoc:aggregate".)

I am wondering whether the behavior of javadoc:aggregate described above
is expected or actually a problem?

Best regards,

[1] https://www.garretwilson.com/blog/2023/06/14/improve-maven-bom-pattern
[2] https://github.com/qos-ch/slf4j/tree/branch_2.1.x

-- 
Ceki Gülcü

Sponsoring SLF4J/logback/reload4j at https://github.com/sponsors/qos-ch

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to