[
https://issues.apache.org/jira/browse/MNG-6064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15383026#comment-15383026
]
Hui Wang commented on MNG-6064:
-------------------------------
Sorry, the test failed at this kind of situation:
{code}
1.0.1-dev.1.uncommit+5612df0 < 1.0.1
{code}
>From our perspective, the order is:
{code}
1.0.1-dev < 1.0.1-alpha < 1.0.1-beta < 1.0.1-milestone < 1.0.1-rc <
1.0.1-snapshot < 1.0.1 < 1.0.1-sp
{code}
So if the "dev" item was added , it would be at the first place in _QUALIFIERS.
We're using Maven's ComparableVersion for comparing versions because it has
sophisticated, flexible algorithms and was capable to support the versioning
strategy we was using. Right now we adopted a more complicated versioning
strategy by using the gradle plugin, and ComparableVersion class still fulfills
most of the requirement except the "dev" stage. I know "dev" is not part of
Maven conventions, would the team still consider to provide more flexibility on
the versioning strategy and add support for it ? Actually, not particularly
for "dev", I have a following question : in method comparableQualifier(),
anything not included in the_QUALIFIERS will be transferred into the size of
_QUALIFIERS, concatenated by the item itself. It seems ComparableVersion
considers any unknown item is indicating newer version than all recognizable
items. May I know why the strategy was designed to be like that ?
> Add "dev" string item into ComparableVersion
> --------------------------------------------
>
> Key: MNG-6064
> URL: https://issues.apache.org/jira/browse/MNG-6064
> Project: Maven
> Issue Type: New Feature
> Components: Artifacts and Repositories
> Affects Versions: 3.3.9
> Environment: Any operating Systems
> Reporter: Hui Wang
> Priority: Minor
> Labels: maven
> Original Estimate: 0.5h
> Remaining Estimate: 0.5h
>
> We're using a popular Gradle plugin "gradle-git" ( from Andrew Oberstar ) to
> implement Semantic Versioning with Continuous Deployment. There's a strategy
> supported by gradle-git that defines a "dev" stage when we have something
> uncommitted on a developer branch, which is very useful. Some examples to
> demonstrate the "dev" scenario can be found here:
> https://github.com/ajoberstar/gradle-git/wiki/Release%20Plugins#how-do-i-use-the-opinion-plugin
> However, current version of
> org.apache.maven.artifact.versioning.ComparableVersion does not support "dev"
> stage since there's no item "dev" in the field _QUALIFIERS of nested class
> StringItem. And since this is a private static final field, it is not able to
> be overwritten by inheritance. Can we add the "dev" item into _QUALIFIERS ?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)