Dan Tran wrote:
Why do we need to declare plexus-utils since it is a transitive dependency of other artifact?
It's merely a matter of good practices, not a requirement. The rationale behind this is, that the plugin's code directly uses/imports classes from plexus-utils. So, there is direct use of plexus-utils yet it's not declared as a direct dependency, i.e. misleading metadata.
Also, by relying on another dependency A to bring in plexus-utils, one could in theory experience the following issues:
When a future code base of the plugin doesn't require dependency A anymore, plexus-utils suddenly vanishes from the class path as well and the POM needs more fix ups than originally expected.
When the plugin updates its dependency on A to a newer version, it might also get another version of plexus-utils.
When the plugin updates its dependency on A to a newer version, it might also entirely loose plexus-utils if A has dropped this from its dependencies.
None of these scenarios seems very likely in our context. It's merely a matter of directly controlling what one directly uses to prevent ripple effects on one's own class path if transitive dependencies change.
Feel free to make suggestion on what to change with the @description tag
Just delete it ;-) I am not sure but it might have historically been part of the Mojo API but nowadays it surely isn't. So no need to trigger a javadoc warning about some unknown tag whose content isn't printed anywhere.
Benjamin --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
