Stephane Nicoll wrote:
On 12/19/06, Richard van der Hoff <[EMAIL PROTECTED]> wrote:
Stéphane also suggested forcing a particular versioning convention on
everybody - the same argument applies.
I am not sure that's what I meant. If we want to be able to compare
versions we need to standardize things. That sounds obvious to me.
Maven is about standardization, I think it would be good if we tackle
the component numbering scheme.
Standardization is good. But, we don't need a standard versioning scheme just
to compare
different versions, because when versions are compared, they are always for the
same artifact.
We can assume that people use a consistent versioning scheme for one project.
If they don't then
maven can't help them.
I think that the best option would be to provide a defaulting and
allowing anyone to plug in a custom scheme (and the related algorithm
used to compare the versions)
I've proposed this too, a while back, at the wiki (so +1) :)
The default handling would have to be as robust as possible, allowing for as
much usecases
as we can, without the code being too complex, and without the need to
customize often.
Convention over configuration should prevail - or in this case, default
algorithms over
configuration.
So we should definitely support pluggable versioning schemes, someday, but for
now I think
(without having to modify the pom), my parsing/comparing proposal is a step in
the right direction
to be as generic and flexible as we can to support whatever schemes are out
there and used widely
right now. At least, that was my goal, and I still would like to see some
examples of schemes
that this one doesn't handle properly.
-- Kenney
WDYT?
Stéphane
Regarding Kenney's proposal: as discussed on #maven, all sounds very
sensible to me. I'm still fishing for, and failing to find, examples of
failures for projects where people invert the precedence of . and -;
however anyone doing that probably deserves what they get.
I don't think it would be unreasonable to expect a project's maven
versions to be consistent with 1.0alpha2 vs 1.0-alpha-3 - so jumping
through hoops to make this work may not be worthwhile.
Is it a given that we want SNAPSHOT < alpha < beta < gamma < rc < ga ?
What happens when we've released an alpha, but want to continue hacking
on SNAPSHOTs before releasing another? we want SNAPSHOT between rc and
ga, no?
Also, does "unknown(lexical sort) < ''" not conflict with "In my sample
implementation, 2.0.1-xyz is newer than 2.0.1."? I may just be
misunderstanding your explanation, but if you could clarify what exactly
happens when a given component isn't present, and for unrecognised
qualifiers, that would be useful.
I've found the current scheme quite limited, and certainly capable of
producing unexpected results, so I'm definitely in favour of making some
changes here.
Best regards,
Richard
--
Richard van der Hoff <[EMAIL PROTECTED]>
Telephony Gateways Project Manager
Tel: +44 (0) 845 666 7778
http://www.mxtelecom.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]