On 04/09/2007, at 7:34 PM, Jason van Zyl wrote:
After trying to chase down a problem with extensions it became very
clear to me that we have mixed concerns with extensions and it just
makes the core crappy.
The biggest offender are providers posing as extensions: wagon-
webdav is not an extension, it is a dependency required by the
deploy plugin. In the exact same way you would specify an SCM
provider as dependency of the release plugin if you needed, say,
ClearCase support. These are not general extensions they are
specifically required by certain plugins and should be defined as
such to scope their use. Dumping wagon-webdav into the core is not
very bright considering it's use is limited to the deploy plugin.
Agree - but currently the thing that uses those wagons is in the core
I think (the artifact deployer) - so that would need to be separated
into a dependency only used by the deploy plugin. The case is the
same for wagon-ssh - though in that case it can be used to download
so would need to be in the core.
People have also used extensions to make available certain
resources like checkstyle rules. Are these also not dependencies of
a given plugin?
Yeah, and that's definitely recommended - I think they've only ever
wound up as extensions to work around bugs in the plugin > dependencies.
Finally, the only things that in my opinion count as extensions are
addition components that augment core functionality: artifact
resolvers, version conflict resolvers, profile activator, project
builders and the like. These should have an element like
<coreExtensions/> or something like it. Look at the extensions
element and it begs the questions and extension to what exactly.
Agreed
For 2.1 I would like to use providers stated as dependencies which
they are (easy to do in corporate builds), and the rest are core
components. John has been working on some active collections, and I
think they can be finished so that we could clarify how the system
is augmented by 2.1-alpha-2.
Anyone have any problems with this clarification?
I don't see a need to rush - for now, I would go with a deprecation
on <extensions /> instead of dropping it.
Once active collections are in place then there should be no more
need for them since as I understand it you basically have nothing in
the core then and just pull them in where they are needed for wagons
and scm providers. So we could look at dropping them out in the next
version.
Cheers,
Brett
--
Brett Porter - [EMAIL PROTECTED]
Blog: http://www.devzuz.org/blogs/bporter/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]