While looking into this, I noticed that the release plugin uses it's own version
parsing instead of the parsing in the maven-artifact component.
https://svn.apache.org/repos/asf/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/versions/DefaultVersionInfo.java
It uses a regular expression to parse the version which is probably better than
the parsing in maven-artifact. Maybe maven 2.1 version parsing should be
changed to something like this.
Christian Edward Gruber wrote:
Would it not be helpful to have a version pattern, somewhat the way
dates have patterns for parsing, so that there can be the default, an
osgi standard pattern, and a custom one specified in the pom?
So a pattern might be xx.[yy.[zz.[pp]]] or xx.yy.pp-aaaa
Where xx == major, yy == medium, zz == minor, pp == patch, and aaaa ==
alphanumeric.
The parsing engine could treat xx/yy/zz/pp as numeric for comparison,
and aaaa can do lexical comparison. dots and dashes would be both
available as punctuation. Square brackets would indicate scopes of
optional use. You could even add ## for supplementary numericals.
The maven default sounds like xx.yy[-aaaa], and osgi sounds like
xx.yy.zz.aaaa (no optionals)
Having said that, a simpler option would be to have - or . parsed as
equivalent punctuation tokens, and have numerical ordering if it's
convertable to a number or lexical ordering if not, on each item between
the punctuations. so:
1.2.3-beta-2 would come after 1.2.2.alpha-3, and 1.2.3-alpha-1 would
come between them.
Of course, the above works with the "pluggable" bit spoken of elsewhere
in this thread.
Christian.
On 17-Apr-08, at 09:59 , Paul Gier wrote:
Since it doesn't change the parsing of the standard maven version
string, I think the risk is pretty low. I see it as basically better
handling of one type of non-standard format. But I understand your
concern, that's why I brought it up for discussion ;)
Brian E. Fox wrote:
These kinds of changes in the 2.0.x branch concern me. There's no way to
predict what impact this will have out there.
-----Original Message-----
From: Brett Porter [mailto:[EMAIL PROTECTED] Sent: Thursday, April
17, 2008 5:23 AM
To: Maven Developers List
Subject: Re: Change to artifact version handling.
I haven't yet applied it, but at first thought it seems a reasonable
change.
- Brett
On 16/04/2008, at 6:37 AM, Paul Gier wrote:
Hi everyone,
I'd like to make a small change to the artifact version parsing.
We currently have several released projects that use a
non-standard version scheme. So instead of something like:
1.0.1-beta-1
we have
1.0.1.beta1
This was originally done to conform to the OSGi standard which
requires a "." instead of a "-" for the qualifier. If you ask me,
the maven standard is better ;)
I created a jira issue with the attached fix here:
http://jira.codehaus.org/browse/MNG-3526
Since this change could potentially (although I think unlikely)
break some dependency management I wanted to bring it up here to
discuss.
Thanks!
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/
---------------------------------------------------------------------
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]
---------------------------------------------------------------------
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]