>From my reading of the code, anything with a qualifier is older than
anything without a qualifier

thus 1.01-blah < 1.01


On Fri, Sep 5, 2008 at 2:49 PM, Wim Deblauwe <[EMAIL PROTECTED]> wrote:

> Hi,
>
> we have a kind of strange version mechanism, and I wonder I can 'translate'
> this to maven.
>
> This is how it works:
> E1.01.01
> E1.01.02
> ..
> V1.01
>
> Versions starting with E are test builds leading into the release (V1.01 in
> the example)
>
> Is 1.01 considered newer then 1.01-E01 for example?
>
> regards,
>
> Wim
>
> 2008/9/5 Benjamin Smith-Mannschott <[EMAIL PROTECTED]>
>
> >
> > On Sep 4, 2008, at 22:09, Stephen Connolly wrote:
> >
> >  On Thu, Sep 4, 2008 at 8:52 PM, Benjamin Smith-Mannschott:
> >>
> >>> Yes. That helped, as did
> >>>
> http://docs.codehaus.org/display/MAVEN/Extending+Maven+2.0+Dependencies
> >>>
> >>> Which actually comes out and says that qualifier and build nr are
> >>> mutually
> >>> exclusive. The syntax given says this too, but I wasn't seeing it.
> >>> Another
> >>> way of looking at it, I suppose, is that everything following "1.2.3-"
> is
> >>> taken as single qualifier, which is compared numerically if it happens
> to
> >>> be
> >>> composed only of digits and otherwise compared as a string.
> >>>
> >>
> >>
> >> Yep:
> >>
> >>
> >>
> http://maven.apache.org/ref/current/maven-artifact/xref/org/apache/maven/artifact/versioning/DefaultArtifactVersion.html#155
> >>
> >>
> > Aha! thanks! I was grubbing around in the source of the 2.0.x branch
> > yesterday after I wrote my message looking for exactly this class, only I
> > didn't find it. ;-)
> >
> >
> >>> It seems that '.2.3', in the example above is optional, those parts
> taken
> >>> to be zero if missing. If any alphanumerics get mixed up in there or
> >>> about
> >>> without a separating hyphen the whole thing goes textual and is just
> >>> compared as a single string. At least that's what I understood.  So
> >>> presumably, if we're comparing two version strings with eachother and
> one
> >>> is
> >>> "well formed" and the other is not, they just get compared as if they
> >>> were
> >>> both not well formed.
> >>>
> >>
> >>
> >> Nope:
> >>
> >>
> >>
> http://maven.apache.org/ref/current/maven-artifact/xref/org/apache/maven/artifact/versioning/DefaultArtifactVersion.html#54
> >>
> >> If one is treated as a string (because it's malformed) the other will
> >> always
> >> be newer (because it has a build number)
> >>
> >
> > Actually, it looks like the build number only enters into it when both
> have
> > a build number, but build number and qualifier are mutually exclusive, so
> > the logic exits early if one has a qualifier and the other doesn't.
> >
> > Somehow that logic makes me a little queezy, but at least it does appear
> to
> > sort consistently.
> >
> >
> > // Ben
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>

Reply via email to