[ 
https://issues.apache.org/jira/browse/MNG-6420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17003601#comment-17003601
 ] 

Ross Goldberg commented on MNG-6420:
------------------------------------

I might be able to look into this over the weekend.

Is there any way to provide me with the code I attached so I can see what 
version matches it on my machine?

Also, what is the timeframe for 4.0? If you want to update the spec (not just 
the implementation), it obviously shouldn’t be done in some version after 4.0, 
so I want to ensure there’s enough time to get that right for 4.0 (or earlier).

Thanks.

> ComparableVersion incorrectly parses certain version strings
> ------------------------------------------------------------
>
>                 Key: MNG-6420
>                 URL: https://issues.apache.org/jira/browse/MNG-6420
>             Project: Maven
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.5.3
>            Reporter: Ross Goldberg
>            Priority: Major
>             Fix For: wontfix-candidate
>
>
> For certain version strings, ComparableVersion doesn't follow the Maven 
> version order spec 
> (https://maven.apache.org/pom.html#Version_Order_Specification).
> To improve the code & fix the following bugs, I completely rewrote the 
> version parser (using Java 10 & Google Guava 25.1).  It is attached & passes 
> all of the tests from ComparableVersionTest.
> Bug 1:
>  
> java -jar /usr/local/Cellar/maven/3.5.3/libexec/lib/maven-artifact-3.5.3.jar 
> 1-0.3 1
>  
> Outputs:
>  
> 1. 1-0.3 == 1-0.3
>    1-0.3 == 1
> 2. 1 == 1
>  
> This probleem stems from:
>  
> [https://github.com/apache/maven/blob/b8c06e61ab73cd9e25a5b2c93d9e5077b2196751/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java#L295-L296]
>  
>  
>  
> Bug 2:
>  
> java -jar /usr/local/Cellar/maven/3.5.3/libexec/lib/maven-artifact-3.5.3.jar 
> 1-0-2 1-0.1
>  
> 1. 1-0-2 == 1-2
>    1-0-2 < 1-0.1
> 2. 1-0.1 == 1-0.1
>  
> This problem stems from retaining ListItems that, after normalization, have 
> no children other than the subsequent ListItem.  Removing the unnecessary 
> ListItem should fix this (i.e. remove the extraneous ListItem (named 
> extraneous) from its parent ListItem (named parent), then add the only child 
> of extraneous to parent).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to