On Sep 3, 2007, at 11:24 AM, Dennis Lundberg wrote:
As discussed in the other thread I'd like B as the default behavior, which is good for beginners and smaller/non-critical projects. If they don't specify versions they should however be nagged by a warning that it is bad practice.

Urg... IMO this is *not* something that I would consider *good* for beginners. This will lead down the path of unstable and fragile builds which can break mysteriously w/o and project source changes, often leaving new folks mystified, frustrated, and really kinda pissed off at Maven. And IMO, that is *not* the type of new user experience which Maven wants to breed, promote, recommend or really allow.

The cost of putting in some version numbers, vs. new users confused and pissed off seems to be a good trade off to me. Pissed off user tend to spread the word and that is where FUD comes about after 2 pissed off users chat about how much Maven sucks because of blah and why its sucks even more because of foo... when really its sucks neither because of blah or foo, but because its kinda setup right now to let new users, who really don't know any better, than just want to use the tool and start learning about its greatness (which is in there believe me), shoot themselves in the foot with a 45 because they were unaware of the automatic firing mechanism when a new model of bullet is released.


This combined with an easy way to turn on the enforcer (or something like it) to get A. This would satisfy everyone who cares about build reproducibility.

If it was a huge task to implement the required version, then I'd say okay... and then litter the docs with the enforcer to show folks that they really *must* use that plugin to get repeatable and predictable builds for their projects. BUT, I really don't see that as the case at all. I really, really, really (well, really, really) think that Maven should help new users (and veterans alike) quickly and easily build powerful, stable, repeatable builds that can enjoy a long and fruitful life of successful builds unaffected by changes and evolution of components which they depend upon.

Again, this seems painfully obvious to me.

And, well heck if you really want to not deal with the <sarcasm>oh so painful burden</sarcasm> of telling the build which version of build components your project needs to depend on, then I'm okay with making a cli flag, like --i-know-what-im-doing-forget-about-plugin-versions- imlazy or something to flip on the current 2.0's behavior to pick the latest version of a plugin when no version is given.

But, IMO for the health of the project, for the longevity of users builds (and for my builds too damn it)... I really believe we must force the default behavior to require version's to be specified for all plugins which are used by project to build.

 * * *

If it was up to me (which well, it ain't) I just make that call... and then rant heavily at users who disagree until they concede my point or go away to find a bucket of water to soak their head in. But hey, I've been wrong before... the universe could be aligning now and another celestial even of the jason of planet57 being wrong may actually occur. But then again my ego might pop before then, so eh... well...

/me shuts up now

--jason



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

Reply via email to