<div dir="ltr">Package: maven-plugin-tools<div>Version: 3.10.2-1</div><div>Severity: important</div><div><br></div><div>This is not an issue with the libmaven-plugin-tools-java binary package currently uploaded to Debian unstable. This issue surfaces if maven-plugin-tools 3.10.2-1 is rebuilt in a debian/sid chroot and the generated libmaven-plugin-tools-java used to build some of the maven plugin packages in the archive.</div><div><br></div><div>I first came across this issue in the Ubuntu update excuses and filed a bug [1] last November. The affected packages, which FTBFS, are all maven plugins that use the Javadoc-based Mojo descriptors (support for Javadoc-based MOJOs will be removed in Maven 4). </div><div><br></div><div>The MOJO descriptor extractor classes are included in the libmaven-plugin-tools-java binary package. Specifically, the javadoc Mojo extracter (JavaJavadocMojoDescriptorExtractor) is bundled in the maven-plugin-tools-java-debian.jar file in the package. The extractor classes are discovered and instantiated into the maven workflow through dependency injection, by the sisu-maven-plugin [2]. For the latter to discover these classes, they need to be indexed in a file named "META-INF/sisu/javax.inject.Named" [2] packaged in the maven-plugin-tools-java-debian.jar. While the current libmaven-plugin-tools-java binary package includes this index file, a binary package currently built in a debian/sid chroot no longer includes this file.  Because of the absence of the index file, we fail to discover the JavaJavadocMojoDescriptorExtractor class present in maven-plugin-tools-java-debian.jar, which in turn causes failures to discover the Javadoc-based MOJO descriptors in the maven packages that FTBFS.</div><div><br></div><div>Because there is no change in the version (3.10.2-1), there is something else at play here, but I couldn't find any relevant dependency that could cause this change. Note that JARs maven-plugin-tools-ant-debian.jar and maven-plugin-tools-beanshell-debian.jar are expected to have similar index files used to sisu, and they DO EXIST in the newly built binary packages.</div><div><div><br></div></div><div>The list of packages that FTBFS due to the missing index file currently is:</div><div>activemq-protobuf [3]</div><div>antlr-maven-plugin [4]</div><div>gettext-maven-plugin [5]</div><div>javacc-maven-plugin [6] </div><div>munge-maven-plugin [7]</div><div><br></div><div>The issue can be fixed by explicitly listing the sisu plugin in maven-plugin-tool's pom.xml [8]. The more profound question is, how did we manage to have the index file generated without this dependency, up until now!</div><div><br></div><div>[1] <a href="https://bugs.launchpad.net/ubuntu/+source/maven-plugin-tools/+bug/2089933">https://bugs.launchpad.net/ubuntu/+source/maven-plugin-tools/+bug/2089933</a></div><div>[2] <a href="https://tracker.debian.org/pkg/sisu-maven-plugin">https://tracker.debian.org/pkg/sisu-maven-plugin</a></div><div>[3] <a href="https://tracker.debian.org/pkg/activemq-protobuf">https://tracker.debian.org/pkg/activemq-protobuf</a></div><div>[4] <a href="https://tracker.debian.org/pkg/antlr-maven-plugin">https://tracker.debian.org/pkg/antlr-maven-plugin</a></div><div>[5] <a href="https://tracker.debian.org/pkg/gettext-maven-plugin">https://tracker.debian.org/pkg/gettext-maven-plugin</a></div><div>[6] <a href="https://tracker.debian.org/pkg/javacc-maven-plugin">https://tracker.debian.org/pkg/javacc-maven-plugin</a></div><div>[7] <a href="https://tracker.debian.org/pkg/munge-maven-plugin">https://tracker.debian.org/pkg/munge-maven-plugin</a></div><div>[8] <a href="https://code.launchpad.net/~pushkarnk/ubuntu/+source/maven-plugin-tools/+git/maven-plugin-tools/+merge/477551">https://code.launchpad.net/~pushkarnk/ubuntu/+source/maven-plugin-tools/+git/maven-plugin-tools/+merge/477551</a></div></div>