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]

Reply via email to