Details
-
New Feature
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.5
-
None
Description
This is admittedly an edge case, but we have had it come up before...
QDox doesn't store annotation information in binaries, which means that mojos inheriting from another mojo in a different plugin have no way to express the mojo parameters inherited from the parent class. The plugin.xml files are not merged in any way. This leaves hand-authoring plugin.xml files as the only option for such cases.
Since we've just changed the behavior of the plugin-plugin in MPLUGIN-106 to throw an exception if no mojos are detected (as opposed to simply printing a warning), this last-ditch option is no longer available for users.
We should provide a new parameter in the plugin-plugin called something like 'pluginXml' which simply circumvents all mojo detection logic and instead uses the supplied file as the plugin descriptor. This is sort of a nuclear option, but it allows advanced plugin developers the flexibility to extend other plugins, or basically do whatever they need to do. Testing is up to the developer when they take this option, of course, to ensure that the defined mojos can actually be loaded and used.