> So as a project builds, there should only be 1 plugin of a given id 
> loaded, but there may be multiple unpacked (contrary to your 
> statement).

Yep. Sorry, I was thinking that using dependencies didn't unpack it, but it
does.

What should really happen is every plugin you ever install should be
unpacked and cached in your local plugins directory. However, this should
not impact the rules for what actually gets loaded too much. Those were
described in the other email which dIon agreed with.

> I don't really like the idea that an unpacked plugin would be deleted 
> just so that it isn't used by maven for a particular run.

No, me neither :)

> We've done a similar thing with reports, you get X reports by 
> default, 
> customise extra ones as required. There may be some crossover between 
> reports / plugins (registration / deregistration concepts).

This is a good idea. In fact, there is a large crossover in that the reports
are all in a plugin. But they may not always be the case I guess, plus you
can have >1 report per plugin.

On the other hand, plugins need to know versions where reports don't -
although there is no harm in limiting to a certain version there either. For
instance, a while back the checkstyle report stopped working until people
upgraded their config files to a new format after the plugin upgraded to
CS-3.

> Would something that pregoalled war:war run before 
> au.com.f2.build:war:war ?
> 
> <preGoal name=":war:war"> - Only runs before the specific nonamespace 
> war:war
> <preGoal name="war:war"> - Runs before any war:war

I don't think you can preGoal into an unknown plugin without knowing what is
doing.
For instance, com.microsoft:war:war could actually be a Maven plugin for
world domination, not building web applications.

I take back what I said about giving Maven special treatment. That could get
confusing. But then you can't ever preGoal on war:war because you don't know
which is which. You'd always have to give the groupId :(

- Brett

Reply via email to