I have a plugin that makes use of the implementation attribute in its configuration. That is, one of its parameters is a plexus tag that specifies an implementation class to use.
The implementation class comes from a jar that is the plugin's dependency, but that dependency is included as part of the plugin configuration, not as part of the stock plugin.
This setup works fine when I bind the plugin's configuration via an execution to a normal phase (generate-sources as it happens).
When I bind the plugin's configuration to the default-cli execution, plexus cannot configure the component, claiming that the classname it encounters in the "implementation" attribute cannot be found (even though, again, if I bind it to the generate-sources phase instead, via another execution, same configuration, everything works fine.
I tried to debug this using mvn -X, but the output was totally baffling; sorry. My raw take is that it looks like dependency resolution in the default-cli execution is somehow performed differently than when the plugin is run bound to a phase.
|Affects Version/s||2.1.0 [ 14587 ]|
|Summary||Dependency resolution for plugins with default-cli execution happens too late||[regression] Project-level plugin dependencies ignored for direct CLI invocation if plugin key uses properties|
|Assignee||Benjamin Bentmann [ bentmann ]|
|Affects Version/s||2.2.0 [ 15103 ]|
|Affects Version/s||2.1.0-M1 [ 14503 ]|
|Resolution||Fixed [ 1 ]|
|Fix Version/s||3.0-alpha-2 [ 14430 ]|
|Status||Open [ 1 ]||Closed [ 6 ]|