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]