Maven plugins using Javadoc MOJO descriptors FTBFS
Bug #2089933 reported by
Pushkar Kulkarni
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
antlr-maven-plugin (Ubuntu) |
New
|
Undecided
|
Unassigned | ||
gettext-maven-plugin (Ubuntu) |
New
|
Undecided
|
Unassigned | ||
maven-plugin-tools (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
The build in -proposed failed [1] on plucky because maven cannot find the Javadoc-based Mojo descriptions. The same package builds successfully in Debian unstable (which has the same versions of the build-deps).
The reason for the failure is that the Javadoc Mojo Descriptor extractor is not loaded in the failing environment. I have done some investigation but have yet not found answers to why the Javadoc extractor is missing. There is no evidence for this in the plugin configuration.
The gettext-
Related branches
~pushkarnk/ubuntu/+source/maven-plugin-tools:ubuntu/devel
Ready for review
for merging
into
ubuntu/+source/maven-plugin-tools:ubuntu/devel
- Ubuntu Sponsors: Pending requested
- git-ubuntu import: Pending requested
-
Diff: 59 lines (+27/-1)4 files modifieddebian/changelog (+8/-0)
debian/control (+2/-1)
debian/patches/add-sisu-maven-plugin.patch (+16/-0)
debian/patches/series (+1/-0)
tags: | added: update-excuse |
description: | updated |
summary: |
- antlr-maven-plugin 2.2-7 FTBFS + Maven plugins using Javadoc MOJO descriptors FTBFS |
To post a comment you must log in.
Here is a synopsis of the failure investigation.
Packages antlr-maven-plugin and gettext- maven-plugins are maven plugins that use the Javadoc-based Mojo descriptor. That Javadoc MOJO descriptor, along with Ant-based and Beanshell-based MOJO descriptors, is deprecated. Support for these descriptors will be removed in Maven 4.
MOJO descriptor extractor classes are included in package maven-plugin-tools. The antlr-maven-plugin and gettext- maven-plugins packages FTBFS because b-d maven-plugin-tools 3.10.2-1 (which must support Javadoc Mojos) fails to discover the JavaJavadocMojo DescriptorExtra ctor class present in maven-plugin- tools-java- debian. jar.
The extractor classes are discovered and instantiated and into the maven workflow through dependency injection, by the sisu-maven-plugin [1]. 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. However, this file isn't found in that JAR file shipped with libmaven- plugin- tools-java, the binary package for maven-plugin-tools.
The current binaries of libmaven- plugin- tools-java on Debian unstable do include the index file. I don't have an explanation for that. But when I tried to build the maven-plugin-tools source package in Debian sid, I could not find the index file.
There are no changes between maven-plugin-tools 3.7.1-1 and 3.10.2-1 which would suggest why the index file was packaged in 3.7.1-1, but is not included in 3.10.2-1. I cannot explain how it got included in 3.7.1-1! I know why it doesn't exist in 3.10.2-1.
Similar index files are found in the maven-plugin- tools-ant- debian. jar and maven-plugin- tools-beanshell -debian. jar which also ship with libmaven- plugin- tools-java.
A short-term solution, for now, is to make sure the index file gets added to the maven-plugin- tools-java- debian. jar on Ubuntu. The patch would be irrelevant once Maven 4 is released.
[1] https:/ /launchpad. net/ubuntu/ +source/ sisu-mojos /maven. apache. org/maven- jsr330. html
[2] https:/