[
https://issues.apache.org/jira/browse/MNG-7644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17650687#comment-17650687
]
ASF GitHub Bot commented on MNG-7644:
-------------------------------------
michael-o commented on code in PR #930:
URL: https://github.com/apache/maven/pull/930#discussion_r1054191144
##########
maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java:
##########
@@ -337,4 +337,20 @@ public void testReuse()
assertEquals( "reused instance should be equivalent to new instance",
c1, c2 );
}
+
+ /**
+ * Test <a
href="https://issues.apache.org/jira/browse/MNG-7644">MNG-7644</a> edge cases
+ * 1.0.0.RC1 < 1.0.0-RC2
+ */
+ public void testMng7644()
+ {
+ for ( String x : new String[]{ "alpha", "a", "beta", "b", "milestone",
"m", "RC" } ) {
Review Comment:
You should add at least two arbitrary one as well.
##########
maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java:
##########
@@ -53,7 +53,8 @@
* </ul>
* Unknown qualifiers are considered after known qualifiers, with lexical
order (always case insensitive),
* </li>
- * <li>a hyphen usually precedes a qualifier, and is always less important
than something preceded with a dot.</li>
+ * <li>a hyphen usually precedes a qualifier, and is always less important
than digits/number, for example
+ * 1.0.RC2 < 1.0-RC3 < 1.0.1 ; but prefer '1.0.0-RC1' over '1.0.0.RC1'
</li>
Review Comment:
This needs to be generalized as well.
##########
maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java:
##########
@@ -337,4 +337,20 @@ public void testReuse()
assertEquals( "reused instance should be equivalent to new instance",
c1, c2 );
}
+
+ /**
+ * Test <a
href="https://issues.apache.org/jira/browse/MNG-7644">MNG-7644</a> edge cases
+ * 1.0.0.RC1 < 1.0.0-RC2
Review Comment:
This needs to be generalized as well.
> Fix version comparison ( .X1 < -X2 for any string qualifier X)
> --------------------------------------------------------------
>
> Key: MNG-7644
> URL: https://issues.apache.org/jira/browse/MNG-7644
> Project: Maven
> Issue Type: Bug
> Affects Versions: 3.8.6, 4.0.0-alpha-3
> Reporter: Gwénaël Ruelland
> Assignee: Michael Osipov
> Priority: Major
> Fix For: 3.8.x-candidate, 3.9.0-candidate, 4.0.x-candidate
>
>
> The current version parser does not treat .RC and -RC correctly:
> actual : 1.0.0.RC1 > 1.0.0-RC2
> expected : 1.0.0.RC1 < 1.0.0-RC2
> because RC1 < RC2
> how to fix : place a list item before qualifier
> the intention is to have this same result with all qualifier x:
> actual : 1.0.0.X1 > 1.0.0-X2
> actual : 1.0.X < 1.0.0.X
> expected : 1.0.0.X1 < 1.0.0-X2
> expected : 1.0.X == 1-X == 1.0.0.X
--
This message was sent by Atlassian Jira
(v8.20.10#820010)