[ https://issues.apache.org/jira/browse/MNG-6964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17527021#comment-17527021 ]
Hudson commented on MNG-6964: ----------------------------- Build failed in Jenkins: Maven » Maven TLP » maven » MNG-7457 #2 See https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven/job/MNG-7457/2/ > Maven version sorting is internally inconsistent > ------------------------------------------------ > > Key: MNG-6964 > URL: https://issues.apache.org/jira/browse/MNG-6964 > Project: Maven > Issue Type: Bug > Components: Core > Affects Versions: 3.6.3 > Reporter: David M. Lloyd > Assignee: Dennis Lundberg > Priority: Major > Fix For: 3.8.2, 4.0.0-alpha-1, 4.0.0 > > > There's a bug where version sorting is inconsistent. This manifests like this: > {code:java} > $ java -jar ~/local/apache-maven/lib/maven-artifact-3.6.3.jar 1-0.alpha 1 > Display parameters as parsed by Maven (in canonical form) and comparison > result: > 1. 1-0.alpha == 1-0.alpha > 1-0.alpha == 1 > 2. 1 == 1 > $ java -jar ~/local/apache-maven/lib/maven-artifact-3.6.3.jar 1-0.beta 1 > Display parameters as parsed by Maven (in canonical form) and comparison > result: > 1. 1-0.beta == 1-0.beta > 1-0.beta == 1 > 2. 1 == 1 > $ java -jar ~/local/apache-maven/lib/maven-artifact-3.6.3.jar 1-0.beta > 1-0.alpha > Display parameters as parsed by Maven (in canonical form) and comparison > result: > 1. 1-0.beta == 1-0.beta > 1-0.beta > 1-0.alpha > 2. 1-0.alpha == 1-0.alpha > {code} > Thus there is no correct total order: {{1-0.beta > 1.0.alpha}} even though > both {{1-0.beta}} and {{1-0.alpha}} are equal to {{1}}. > I think this is likely due to a logical bug where any dot-separated segments > following a zero or release ({{ga}} or {{final}}) is simply truncated in > certain circumstances: > {code:java} > $ java -jar ~/local/apache-maven/lib/maven-artifact-3.6.3.jar 1-0.x 1-0 > Display parameters as parsed by Maven (in canonical form) and comparison > result: > 1. 1-0.x == 1-0.x > 1-0.x == 1-0 > 2. 1-0 == 1 > {code} > but > {code:java} > $ java -jar ~/local/apache-maven/lib/maven-artifact-3.6.3.jar 1-0.x-1 1-0-1 > Display parameters as parsed by Maven (in canonical form) and comparison > result: > 1. 1-0.x-1 == 1-0.x-1 > 1-0.x-1 > 1-0-1 > 2. 1-0-1 == 1-1 > {code} -- This message was sent by Atlassian Jira (v8.20.7#820007)