You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by "Ole Ersoy (JIRA)" <ji...@codehaus.org> on 2006/01/19 02:33:40 UTC

[jira] Commented: (MNG-1649) Allow plugins to depend upon other plugin's goals

    [ http://jira.codehaus.org/browse/MNG-1649?page=comments#action_56293 ] 

Ole Ersoy commented on MNG-1649:
--------------------------------

Hi,

I've been reading through all the maven 2 documentation to understand how I can:
Use Case A) Define a new archetype and give it's own lifecycle.
Use Case B) Redefine the lifecycle of a current archetype

Before I started I tried to think of the simplest way to do this, so I had a reference point for how it is currently being done.

Here's an example of what I think would be the simplest way to do use case A:
- Define the archetype just as specified in the guide to creating archetypes
http://maven.apache.org/guides/mini/guide-creating-archetypes.html

- Then add to the pom something like this:
<Routing-Sequences>
	<Sequence id="1">
		<goal name="p1:g1">
		</goal>
		<goal name="p2:g1">
		</goal>
		<goal name="p3:g1">
		</goal>
		<goal name="p4:g1">
		</goal>
	</Sequence>
	<Sequence id="2">
		<goal name="p1:g1">
		</goal>
		<goal name="p4:g1">
		</goal>
		<goal name="p3:g1">
		</goal>
		<goal name="p5:g1">
		</goal>
	</Sequence>
</Routing-Sequences>

This would let maven know how to process the files given by an archetype instance.

In this case the sequences are mutually exclusive.  So they can be performed in paralell if need be.  The order in which the plugin goals are executed is the order in which they are given.

Now if I needed to do Use Case B I would just put something like this in the POM 
for that archetype instance:
	<Sequence>
		<goal name="px:g1" sequence="1" depends="p2:g1">
	</Sequence>

This lets maven know that it needs to perform goal g1 of plugin px after goal g1 of plugin p2 of sequence 1.

Now since Maven executes phases in the lifecycle,
lifecycle metadata could be bound to each <goal> element within each sequence, and
the user could just do 
mvn sequence1:deploy ...

Obviously the sequence would need to be specified if there are multiple sequences.

Any thoughts?

Thanks,
- Ole

> Allow plugins to depend upon other plugin's goals
> -------------------------------------------------
>
>          Key: MNG-1649
>          URL: http://jira.codehaus.org/browse/MNG-1649
>      Project: Maven 2
>         Type: Bug

>     Versions: 2.0
>     Reporter: Mark Hobson
>      Fix For: 2.1

>
>
> Need to resolve the use-case discussed on dev:
> http://www.nabble.com/Re%3A-m2-Plugins-that-depend-on-other-plugin-goals-t473646.html

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org