Package: maven-plugin-tools Version: 3.10.2-1 Severity: important 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.
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). 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. 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. The list of packages that FTBFS due to the missing index file currently is: activemq-protobuf [3] antlr-maven-plugin [4] gettext-maven-plugin [5] javacc-maven-plugin [6] munge-maven-plugin [7] 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! [1] https://bugs.launchpad.net/ubuntu/+source/maven-plugin-tools/+bug/2089933 [2] https://tracker.debian.org/pkg/sisu-maven-plugin [3] https://tracker.debian.org/pkg/activemq-protobuf [4] https://tracker.debian.org/pkg/antlr-maven-plugin [5] https://tracker.debian.org/pkg/gettext-maven-plugin [6] https://tracker.debian.org/pkg/javacc-maven-plugin [7] https://tracker.debian.org/pkg/munge-maven-plugin [8] https://code.launchpad.net/~pushkarnk/ubuntu/+source/maven-plugin-tools/+git/maven-plugin-tools/+merge/477551