Re: Re: Use a mojo within a mojo

2009-10-28 Thread Tsuyoshi Ito

Hi Wayne

Thanks for the answer, obviously my question wasn't clear enough: I  
read that mojos are components, how do I get such a component injected  
within another mojo?


A Mojo is much more than just a goal in Maven, it is a component  
managed by Plexus that can include references to other Plexus  
components.


From maven definitive guide, chapter 17.2.4. What is a Plugin?



Extract the method to a utility class/jar/artifact which you can
depend on independently of your mojos, and then call it from each
mojo. And then, yes, you'll need to declare each plugin in your pom.


Tsuy

-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org



Re: Re: Use a mojo within a mojo

2009-10-28 Thread Jörg Schaible
Tsuyoshi Ito wrote:

 Hi Wayne
 
 Thanks for the answer, obviously my question wasn't clear enough: I
 read that mojos are components, how do I get such a component injected
 within another mojo?

You do not. As Wayne pointed out, you can reuse code that is shared in a
common library, but not the Mojo itself. While it is *technically*
possible, you will screw up the Maven build in a very subtile way: Every
plugin is loaded once and only once (even in a multi-project build) - may
it be declared by the user (with a special version) or by your plugin as
dependency (with probably a different version). Depending on the build
order (especially in a multi-project) the plugin is loaded in one of the
versions above - however, you can never guarantee that those two plugin
versions are compatible (especially regarding the plugin configuration).

 A Mojo is much more than just a goal in Maven, it is a component
 managed by Plexus that can include references to other Plexus
 components.
 
  From maven definitive guide, chapter 17.2.4. What is a Plugin?
 
 
 Extract the method to a utility class/jar/artifact which you can
 depend on independently of your mojos, and then call it from each
 mojo. And then, yes, you'll need to declare each plugin in your pom.

- Jörg


-
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org