On 15 Aug 07, at 4:42 PM 15 Aug 07, John Casey wrote:
Hi,
I'd like to propose that for Maven trunk/2.1 we capture all plugin-
facing APIs and facades inside a single maven-api artifact. This
would enumerate in a very clear fashion the public APIs that we
need to support. We're approaching a turning point in Maven, where
we'll have plugins that could feasibly run in both 2.0.x and 2.x
(>= 2.1), and these plugins need a mechanism for coping with what
will probably be critical changes in the internals of Maven.
Recent discussions about artifact resolution from plugins begin to
point at this need (eg. using maven-artifact directly vs. using the
version of maven-artifact, along with accompanying interfaces, that
come with Maven itself). I understand that some of this might seem
redundant in the presence of new facades introduced to maven-
artifact itself...I was thinking of this more as a "This is
everything you can do with Maven from inside a Mojo" artifact.
WDYT?
Why don't you toss you're ideas in here:
http://docs.codehaus.org/display/MAVEN/All+Proposals
One thing in a discussion I had with Gregory Kick was one of a
comparison of all the helper classes Spring, whereas in Maven people
writing plugins have no help really and people end up doing includes/
excludes, resolution, and everything else in a different way.
I think a set of loosely couple helping components that people could
just @component into their plugins would be a huge help. I'm not sure
we need a grand API but some helper components would certainly make
things more consistent, and those components could certainly have
consistent APIs. I know we have 10 plugins that do includes/excludes
in different ways which also makes it confusing for using to know how
to use plugins in a common way.
-john
---
John Casey
Committer and PMC Member, Apache Maven
mail: jdcasey at commonjava dot org
blog: http://www.ejlife.net/blogs/john
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder and PMC Chair, Apache Maven
jason at sonatype dot com
----------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]