Re: What will replace the @aggregator MOJO configuration?

2008-12-16 Thread Brett Porter
I don't believe the doc covered pre-/post- lifecycle operations, just  
the @aggregator changes that were the initial discussion.


They'd probably need a new proposal. Perhaps something hooking into  
the model builder listening from the new work on trunk (just taking a  
wild stab in the dark, haven't looked at it since they were introduced).


- Brett

On 15/12/2008, at 8:11 PM, Stephen Connolly wrote:


2008/12/15 Brett Porter 



On 12/12/2008, at 6:57 AM, Barrie Treloar wrote:

On Fri, Dec 12, 2008 at 3:51 AM, Brian E. Fox >

wrote:


I think most of these ideas are already covered in the lifecycle
proposal out there that john wrote.



Can you paste the link in please?



http://docs.codehaus.org/display/MAVEN/Deterministic+Lifecycle+Planning

There are two linked docs at the bottom that are probably more  
relevant.




It's not clear to me from that proposal, how we could accommodate  
plugins

that need to update the pom...

For example, I'd like that versions-maven-plugin could work  
preemptively for

goals like update-parent...

Perhaps some mojos will need a way to run outside the lifecycle, or  
at least

signal that they could affect build plan determination somewhat... for
example, if I update the parent of some modules to a newer version,  
that

newer version may add/remove profiles, add/remove plugins, etc.

Perhaps that is covered in the Wiki, but it's just not clear to me

-Stephen





- Brett

--
Brett Porter
br...@apache.org
http://blogs.exist.com/bporter/


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




--
Brett Porter
br...@apache.org
http://blogs.exist.com/bporter/


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



Re: What will replace the @aggregator MOJO configuration?

2008-12-15 Thread Stephen Connolly
2008/12/15 Brett Porter 

>
> On 12/12/2008, at 6:57 AM, Barrie Treloar wrote:
>
>  On Fri, Dec 12, 2008 at 3:51 AM, Brian E. Fox 
>> wrote:
>>
>>> I think most of these ideas are already covered in the lifecycle
>>> proposal out there that john wrote.
>>>
>>
>> Can you paste the link in please?
>>
>
> http://docs.codehaus.org/display/MAVEN/Deterministic+Lifecycle+Planning
>
> There are two linked docs at the bottom that are probably more relevant.
>

It's not clear to me from that proposal, how we could accommodate plugins
that need to update the pom...

For example, I'd like that versions-maven-plugin could work preemptively for
goals like update-parent...

Perhaps some mojos will need a way to run outside the lifecycle, or at least
signal that they could affect build plan determination somewhat... for
example, if I update the parent of some modules to a newer version, that
newer version may add/remove profiles, add/remove plugins, etc.

Perhaps that is covered in the Wiki, but it's just not clear to me

-Stephen


>
>
> - Brett
>
> --
> Brett Porter
> br...@apache.org
> http://blogs.exist.com/bporter/
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>


Re: What will replace the @aggregator MOJO configuration?

2008-12-14 Thread Brett Porter


On 12/12/2008, at 6:57 AM, Barrie Treloar wrote:

On Fri, Dec 12, 2008 at 3:51 AM, Brian E. Fox > wrote:

I think most of these ideas are already covered in the lifecycle
proposal out there that john wrote.


Can you paste the link in please?


http://docs.codehaus.org/display/MAVEN/Deterministic+Lifecycle+Planning

There are two linked docs at the bottom that are probably more relevant.

- Brett

--
Brett Porter
br...@apache.org
http://blogs.exist.com/bporter/


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



Re: What will replace the @aggregator MOJO configuration?

2008-12-11 Thread Barrie Treloar
On Fri, Dec 12, 2008 at 3:51 AM, Brian E. Fox  wrote:
> I think most of these ideas are already covered in the lifecycle
> proposal out there that john wrote.

Can you paste the link in please?

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



RE: What will replace the @aggregator MOJO configuration?

2008-12-11 Thread Brian E. Fox
I think most of these ideas are already covered in the lifecycle
proposal out there that john wrote.

-Original Message-
From: Brett Porter [mailto:br...@apache.org] 
Sent: Thursday, December 11, 2008 11:02 AM
To: Maven Developers List
Subject: Re: What will replace the @aggregator MOJO configuration?


On 07/12/2008, at 2:06 AM, Brian E. Fox wrote:

> Yes it's binding the aggregator with @execute to a lifecycle that is  
> the
> problem. There's nothing wrong with aggregators that are meant to  
> perform
> some action from the CLI. The trouble is that everyone ends up  
> making two
> goals, one @aggregator and one xxx-only goal that is without the  
> aggregator.
> I know of too many instances where someone bound an aggregator  
> executor goal
> to a lifecycle and ended up with n*n-1 recursive builds or other crazy
> behavior.
>
> What I think we need is an annotation that says "execute up to this  
> phase
> only if it hasn't already run" essentially a minimum phase execution.
>
> There also needs to be a way to attach a plugin to execute before the
> lifecycle to influence things like inject dependencies and we also  
> need a
> way to bind to the very end of a build for cleanup or metric  
> collection
> types of things.

Agreed. How do we pursue these ideas? Wiki?

Not sure how they fit in with the lifecycle refactoring of 3.0 or if  
there's a bunch of these we could get happening sooner.

- Brett

--
Brett Porter
br...@apache.org
http://blogs.exist.com/bporter/


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


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



Re: What will replace the @aggregator MOJO configuration?

2008-12-11 Thread Brett Porter


On 07/12/2008, at 2:06 AM, Brian E. Fox wrote:

Yes it's binding the aggregator with @execute to a lifecycle that is  
the
problem. There's nothing wrong with aggregators that are meant to  
perform
some action from the CLI. The trouble is that everyone ends up  
making two
goals, one @aggregator and one xxx-only goal that is without the  
aggregator.
I know of too many instances where someone bound an aggregator  
executor goal

to a lifecycle and ended up with n*n-1 recursive builds or other crazy
behavior.

What I think we need is an annotation that says "execute up to this  
phase

only if it hasn't already run" essentially a minimum phase execution.

There also needs to be a way to attach a plugin to execute before the
lifecycle to influence things like inject dependencies and we also  
need a
way to bind to the very end of a build for cleanup or metric  
collection

types of things.


Agreed. How do we pursue these ideas? Wiki?

Not sure how they fit in with the lifecycle refactoring of 3.0 or if  
there's a bunch of these we could get happening sooner.


- Brett

--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: What will replace the @aggregator MOJO configuration?

2008-12-07 Thread Nick Pellow


being able to bind to the front and back of a lifecycle would be  
absolutely

splendid



+1. A simple event system which fired build events to registered  
listeners (plugins could register these) would go a long way. Example  
events could be:

* Build Started
* Phase Started
* Goal Started
* Goal Ended
* Phase Ended
* Build Failed
* Build Complete




Brian E Fox wrote:


Yes it's binding the aggregator with @execute to a lifecycle that  
is the
problem. There's nothing wrong with aggregators that are meant to  
perform
some action from the CLI. The trouble is that everyone ends up  
making two

goals, one @aggregator and one xxx-only goal that is without the
aggregator.
I know of too many instances where someone bound an aggregator  
executor

goal
to a lifecycle and ended up with n*n-1 recursive builds or other  
crazy

behavior.

What I think we need is an annotation that says "execute up to this  
phase

only if it hasn't already run" essentially a minimum phase execution.

There also needs to be a way to attach a plugin to execute before the
lifecycle to influence things like inject dependencies and we also  
need a
way to bind to the very end of a build for cleanup or metric  
collection

types of things.

On 12/5/08 7:59 PM, "Brett Porter" <[EMAIL PROTECTED]> wrote:


On 06/12/2008, at 9:37 AM, Brian Fox wrote:


There's nothing presumptive about the fact that it HAS been
deprecated in trunk for quite some time now. (since it was still
called 2.1-snap)


Ok, you're right, when binding to the lifecycle (which admittedly we
are talking about here), though not generally.

Aren't the source of these problems when it is used in conjunction
with @execute? (Which is probably the more problematic annotation, I
was never happy with the way that was done).




The aggregator is full of problems and usually leads to recursive
builds when you bind it to the lifecycle. A complely new concept is
needed to handle this use case.


But doesn't yet exist, so perhaps a warning is more appropriate  
than a

deprecation at this point. It does still work for the limited use
cases it was designed for (such as the Nick is referring to).

Cheers,
Brett

--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
View this message in context: 
http://www.nabble.com/What-will-replace-the-%40aggregator-MOJO-configuration--tp20825520p20873221.html
Sent from the Maven Developers mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: What will replace the @aggregator MOJO configuration?

2008-12-06 Thread jallen

being able to bind to the front and back of a lifecycle would be absolutely
splendid


Brian E Fox wrote:
> 
> Yes it's binding the aggregator with @execute to a lifecycle that is the
> problem. There's nothing wrong with aggregators that are meant to perform
> some action from the CLI. The trouble is that everyone ends up making two
> goals, one @aggregator and one xxx-only goal that is without the
> aggregator.
> I know of too many instances where someone bound an aggregator executor
> goal
> to a lifecycle and ended up with n*n-1 recursive builds or other crazy
> behavior.
> 
> What I think we need is an annotation that says "execute up to this phase
> only if it hasn't already run" essentially a minimum phase execution.
> 
> There also needs to be a way to attach a plugin to execute before the
> lifecycle to influence things like inject dependencies and we also need a
> way to bind to the very end of a build for cleanup or metric collection
> types of things.
> 
> On 12/5/08 7:59 PM, "Brett Porter" <[EMAIL PROTECTED]> wrote:
> 
>> On 06/12/2008, at 9:37 AM, Brian Fox wrote:
>> 
>>> There's nothing presumptive about the fact that it HAS been
>>> deprecated in trunk for quite some time now. (since it was still
>>> called 2.1-snap)
>> 
>> Ok, you're right, when binding to the lifecycle (which admittedly we
>> are talking about here), though not generally.
>> 
>> Aren't the source of these problems when it is used in conjunction
>> with @execute? (Which is probably the more problematic annotation, I
>> was never happy with the way that was done).
>> 
>>> 
>>> 
>>> The aggregator is full of problems and usually leads to recursive
>>> builds when you bind it to the lifecycle. A complely new concept is
>>> needed to handle this use case.
>> 
>> But doesn't yet exist, so perhaps a warning is more appropriate than a
>> deprecation at this point. It does still work for the limited use
>> cases it was designed for (such as the Nick is referring to).
>> 
>> Cheers,
>> Brett
>> 
>> --
>> Brett Porter
>> [EMAIL PROTECTED]
>> http://blogs.exist.com/bporter/
>> 
>> 
>> -
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/What-will-replace-the-%40aggregator-MOJO-configuration--tp20825520p20873221.html
Sent from the Maven Developers mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: What will replace the @aggregator MOJO configuration?

2008-12-06 Thread Brian E. Fox
Yes it's binding the aggregator with @execute to a lifecycle that is the
problem. There's nothing wrong with aggregators that are meant to perform
some action from the CLI. The trouble is that everyone ends up making two
goals, one @aggregator and one xxx-only goal that is without the aggregator.
I know of too many instances where someone bound an aggregator executor goal
to a lifecycle and ended up with n*n-1 recursive builds or other crazy
behavior.

What I think we need is an annotation that says "execute up to this phase
only if it hasn't already run" essentially a minimum phase execution.

There also needs to be a way to attach a plugin to execute before the
lifecycle to influence things like inject dependencies and we also need a
way to bind to the very end of a build for cleanup or metric collection
types of things.

On 12/5/08 7:59 PM, "Brett Porter" <[EMAIL PROTECTED]> wrote:

> On 06/12/2008, at 9:37 AM, Brian Fox wrote:
> 
>> There's nothing presumptive about the fact that it HAS been
>> deprecated in trunk for quite some time now. (since it was still
>> called 2.1-snap)
> 
> Ok, you're right, when binding to the lifecycle (which admittedly we
> are talking about here), though not generally.
> 
> Aren't the source of these problems when it is used in conjunction
> with @execute? (Which is probably the more problematic annotation, I
> was never happy with the way that was done).
> 
>> 
>> 
>> The aggregator is full of problems and usually leads to recursive
>> builds when you bind it to the lifecycle. A complely new concept is
>> needed to handle this use case.
> 
> But doesn't yet exist, so perhaps a warning is more appropriate than a
> deprecation at this point. It does still work for the limited use
> cases it was designed for (such as the Nick is referring to).
> 
> Cheers,
> Brett
> 
> --
> Brett Porter
> [EMAIL PROTECTED]
> http://blogs.exist.com/bporter/
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: What will replace the @aggregator MOJO configuration?

2008-12-05 Thread Brett Porter

On 06/12/2008, at 9:37 AM, Brian Fox wrote:

There's nothing presumptive about the fact that it HAS been  
deprecated in trunk for quite some time now. (since it was still  
called 2.1-snap)


Ok, you're right, when binding to the lifecycle (which admittedly we  
are talking about here), though not generally.


Aren't the source of these problems when it is used in conjunction  
with @execute? (Which is probably the more problematic annotation, I  
was never happy with the way that was done).





The aggregator is full of problems and usually leads to recursive  
builds when you bind it to the lifecycle. A complely new concept is  
needed to handle this use case.


But doesn't yet exist, so perhaps a warning is more appropriate than a  
deprecation at this point. It does still work for the limited use  
cases it was designed for (such as the Nick is referring to).


Cheers,
Brett

--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: What will replace the @aggregator MOJO configuration?

2008-12-05 Thread Brian Fox
There's nothing presumptive about the fact that it HAS been deprecated  
in trunk for quite some time now. (since it was still called 2.1-snap)


The aggregator is full of problems and usually leads to recursive  
builds when you bind it to the lifecycle. A complely new concept is  
needed to handle this use case.


--Brian (mobile)


On Dec 4, 2008, at 6:19 PM, Nick Pellow <[EMAIL PROTECTED]> wrote:


Hi Brett,




Hi,

I noticed that the 'aggregator' parameter for a MOJO is slated for  
deprecation in a future release of Maven.

http://books.sonatype.com/maven-book/reference/writing-plugins.html#d0e22494


Seems presumptive on the part of the author. It has both its  
usefulness and its problems, and it being superceded is likely to  
be part of a greater revision of the lifecycle rather than a one- 
off deprecation.


I agree. The @aggregator is certainly useful, and IMO the concept  
could even be extended to allow a user to specify that a specific  
goal should run as an aggregator.
ie it would be great if a user could specify in the plugin  
configuration in the pom.xml that goal X should behave like an  
aggregator, or at least specify that goal X should only get run a  
single time at the executionRoot of the build. Does this make sense?







What should be used instead, to fulfill the following use-case:

- a multi-module project, which would like to assert something  
about the entire project at the very end of the build.


A concrete example is mentioned on our Clover Forums at http://forums.atlassian.com/post!reply.jspa?messageID=257294857 
 .
The user would like to only run clover2:check on the entire  
project, not on each sub-module.




@aggregator will work for your situation

The only other solution available today is to run the plugin from a  
separate module that depends on all the others (this is typically  
how dependency-based aggregation is really done in Maven).


Thanks for this work-around. I will mention that to the user.

Cheers,
Nick




Cheers,
Brett

--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: What will replace the @aggregator MOJO configuration?

2008-12-04 Thread Nick Pellow

Hi Brett,




Hi,

I noticed that the 'aggregator' parameter for a MOJO is slated for  
deprecation in a future release of Maven.

http://books.sonatype.com/maven-book/reference/writing-plugins.html#d0e22494


Seems presumptive on the part of the author. It has both its  
usefulness and its problems, and it being superceded is likely to be  
part of a greater revision of the lifecycle rather than a one-off  
deprecation.


I agree. The @aggregator is certainly useful, and IMO the concept  
could even be extended to allow a user to specify that a specific goal  
should run as an aggregator.
ie it would be great if a user could specify in the plugin  
configuration in the pom.xml that goal X should behave like an  
aggregator, or at least specify that goal X should only get run a  
single time at the executionRoot of the build. Does this make sense?







What should be used instead, to fulfill the following use-case:

- a multi-module project, which would like to assert something  
about the entire project at the very end of the build.


A concrete example is mentioned on our Clover Forums at http://forums.atlassian.com/post!reply.jspa?messageID=257294857 
 .
The user would like to only run clover2:check on the entire  
project, not on each sub-module.




@aggregator will work for your situation

The only other solution available today is to run the plugin from a  
separate module that depends on all the others (this is typically  
how dependency-based aggregation is really done in Maven).


Thanks for this work-around. I will mention that to the user.

Cheers,
Nick




Cheers,
Brett

--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: What will replace the @aggregator MOJO configuration?

2008-12-04 Thread Brett Porter


On 04/12/2008, at 12:29 PM, Nick Pellow wrote:


Hi,

I noticed that the 'aggregator' parameter for a MOJO is slated for  
deprecation in a future release of Maven.

http://books.sonatype.com/maven-book/reference/writing-plugins.html#d0e22494


Seems presumptive on the part of the author. It has both its  
usefulness and its problems, and it being superceded is likely to be  
part of a greater revision of the lifecycle rather than a one-off  
deprecation.



What should be used instead, to fulfill the following use-case:

- a multi-module project, which would like to assert something about  
the entire project at the very end of the build.


A concrete example is mentioned on our Clover Forums at http://forums.atlassian.com/post!reply.jspa?messageID=257294857 
 .
The user would like to only run clover2:check on the entire project,  
not on each sub-module.




@aggregator will work for your situation

The only other solution available today is to run the plugin from a  
separate module that depends on all the others (this is typically how  
dependency-based aggregation is really done in Maven).


Cheers,
Brett

--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]