The Parent POM section reads a bit confusingly because it uses "Ahead" both times, but you've switched the order of the POMs :)

I'm trying to understand what the real scenario is where there is a "child" POM that doesn't declare it's parent? Could that just be declared as a build failure/warning? I think modules really needs to reflect the hierarchical relationship - and it's an easier problem to attack than to change the order if that scenario is used.

With regards to the assembly - we probably need to look at some alternative ways to attack that problem.

For me, the main things I think we should focus on with plugin lifecycle are: - assembly lifecycle (perhaps related to the aggregator changes you propose) - decent integration of code coverage plugins (we never got this forked lifecycle quite right)

I'm not sure about the aggregator changes - I realise the problems you describe, but will need to give it more thought - I think more digging on the proposed solutions will be needed, referring to an example as I had trouble visualising it from your description (I may just need more coffee :).

Build introspection is a good thing, some thoughts:
- this would enable guarded mojo execution too
- I don't think legacy mojos is a big deal - you just miss some information you never had - just need to make sure that things assume the information is always partial (since plugin devs will be lazy sometimes too) - as long as it still provides correct results (or correct based on knowledge given) I think this is ok. - I think annotations are a good idea, possibly with additional interfaces so that you can code the conditional logic necessary if the annotations don't suffice (so, a combo of the two proposals) - I think an alternative way to look at this might be to structure mojo execution such that you can essentially run it in dry run (so you can run the whole build, just not affect anything). This would unfortunately significantly affect mojo design, however - but worth thinking about how it might help for the more complicated logic cases.

Given all this, I think the 3 proposals can actually be split up into separate documents.

Thanks John!

Cheers,
Brett

On 14/02/2008, at 9:34 AM, John Casey wrote:

Hi,

I'm trying to document some of the design problems with sort of exotic plugin use cases, things like aggregation and use of $ {reactorProjects}, that we're running into under the current setup. I have proposals to address most of the issues, but I'd love to hear what you would propose...or even tell me about plugin-design issues that I haven't thought of.

I'd really like to take a whack at the bigger problems for 2.1, but if that doesn't happen, 2.2 is a fine target for me, as long as we start the discussion now. We have a lot of experience with what works and what doesn't from 2.0.x, so let's take advantage of that to see what we got wrong, and how we can correct it.

The page is here: 
http://docs.codehaus.org/display/MAVEN/Atypical+Plugin+Use+Cases

Thanks in advance,

-john

---
John Casey
Committer and PMC Member, Apache Maven
mail: jdcasey at commonjava dot org
blog: http://www.ejlife.net/blogs/john
rss: http://feeds.feedburner.com/ejlife/john



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


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

Reply via email to