Jason Dillon wrote:
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.
I fail to see how how warning users the it's bad practice to *not*
specify version can be considered promoting or recommending.
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.
I'd suggest that you spend a little time on [EMAIL PROTECTED] You'll find
that there are a lot of people who don't care about reproducibility. I
see this warning/enforcer as the first step towards requiring versions.
But I don't believe we can require versions in 2.1. There are just too
many builds out there that would suddenly fail.
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.
If you had read my post in the discussion thread you would know that I
was talking about something so simple it wouldn't require any littering
whatsoever.
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.
Making all their builds fail when they upgrade to Maven 2.1 is helping
them? People will just throw 2.1 out the window and stay with 2.0 and
we're stuck with *no* control at all over version.
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.
As I said in the discussion thread, there should be a property that the
user can set to say: I don't care about versions - stop nagging me.
Helping the users add versions can be made with a plugin that adds the
latest (or the recommended) versions for everything in your pom.
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.
I agree that this is the long term goal, but we should make this
transition step by step.
* * *
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
--
Dennis Lundberg
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]