I've peeped over some of the other responses and seems like many want to keep things as they are... and well I'm a bit confused by that.

Why would you want to have the version of something you require to build your project to dynamically change? This dynamic behavior already can cause some projects which have not fully locked down their plugin dependency versions, when a new plugin is released which alters runtime behavior, introduces new required configuration or simply contains new bugs. Software that hasn't changed in a year, but has been build-able for months and months could suddenly and mysteriously stop building because of the dynamic insertion and execution of an new and incompatible required plugin.

So... to avoid mysterious build failures, its best to always set the version of the plugins you are using for your build.

If that doesn't make sense, then think about non-plugin dependencies, which your source-code is dependent on. Do you want that library version to dynamically change as the library vendor publishes new version, which may or may not be compatible with the version which was initially in use? That sounds like a massive nightmare in the making if you ask me. If sally widget maker makes a fancy widget version 1.0 with classes all in supersallys.widget.*, then 1.1 comes out and she's not ubersupersallys.widget.* well, your project barf up all over the place with out you changing any build configuration, source code, system configuration, atomic clocks, batteries in your xbox remote, that little lint collecting thingy in the dryier, kitties litter...

So, why treat the plugin dependencies differently than you would the library dependencies?

 * * *

BTW, I remember a long ass time ago talking to Dain and Jason about having a meta RELEASE version for m1, so I'd not have to worry about updating to new versions when they came out... seemed like a good idea at the time... but in retrospect, that dynamic *feature* will cause your build endless trouble.

Or should I lay off the crack? This seems really, really, really obvious to me...

And I think its so obvious that it should be the default behavior for Maven, since most folks are just going to use that... some will go and use recommending plugins and such, but most won't.

So, again... me thinky... A.... nay B.

--jason


On Sep 1, 2007, at 7:48 PM, Brett Porter wrote:

I'd like to hear from as many people as possible their opinion this topic (even if you just want to say '0' so we know where you stand).

[ ] (A) All plugin versions must be specified by the project or its parent hierarchy somewhere, at the cost of some verbosity (though we should look at ways to make this easier/smaller/etc per the current discussion) [ ] (B) Retain the current behaviour, but make using the enforcer a best practice to do the above, or some other control mechanism such as having the repository manager handle the available plugins
[ ] (C) No opinion
[ ] (D) Undecided
[ ] (E) Other (please specify)

Thanks,
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]

Reply via email to