You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Michael Osipov (Jira)" <ji...@apache.org> on 2023/02/19 11:39:00 UTC

[jira] [Commented] (MNG-7690) maven-artifact and resolver GenericVersion disagreement

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

Michael Osipov commented on MNG-7690:
-------------------------------------

I assume this is present in 3.8+?

> maven-artifact and resolver GenericVersion disagreement
> -------------------------------------------------------
>
>                 Key: MNG-7690
>                 URL: https://issues.apache.org/jira/browse/MNG-7690
>             Project: Maven
>          Issue Type: Bug
>          Components: Artifacts and Repositories
>            Reporter: Tamas Cservenak
>            Priority: Major
>
> Seems there is a disagreement between maven-artifact version sorting and resolver version sorting about this artifact:
> [https://maven.repository.redhat.com/ga/com/redhat/quarkus/platform/quarkus-camel-bom/]
> maven-artifact claims Final is "newer" (greater) than SP, while resolver claims SP is "newer" than Final.
> For context see here:
> [https://github.com/dependabot/dependabot-core/issues/6637]
> Maven Artifact opinion about ordering is this (and is suspicious, as am removing same suffix from both version, but it changes order):
> {noformat}
> $ java -jar ~/.m2/repository-oss/org/apache/maven/maven-artifact/3.8.4/maven-artifact-3.8.4.jar 2.13.5.SP1-redhat-00002 2.13.5.Final-redhat-00002
> Display parameters as parsed by Maven (in canonical form and as a list of tokens) and comparison result:
> 1. 2.13.5.SP1-redhat-00002 -> 2.13.5.sp-1-redhat-2; tokens: [2, 13, 5, sp, [1, [redhat, [2]]]]
>    2.13.5.SP1-redhat-00002 < 2.13.5.Final-redhat-00002
> 2. 2.13.5.Final-redhat-00002 -> 2.13.5-redhat-2; tokens: [2, 13, 5, [redhat, [2]]]
> $ java -jar ~/.m2/repository-oss/org/apache/maven/maven-artifact/3.8.4/maven-artifact-3.8.4.jar 2.13.5.SP1 2.13.5.Final
> Display parameters as parsed by Maven (in canonical form and as a list of tokens) and comparison result:
> 1. 2.13.5.SP1 -> 2.13.5.sp-1; tokens: [2, 13, 5, sp, [1]]
>    2.13.5.SP1 > 2.13.5.Final
> 2. 2.13.5.Final -> 2.13.5; tokens: [2, 13, 5]
> $ {noformat}
> Similar tool created with resolver:
> {noformat}
> $ java -cp ~/.m2/repository-oss/org/apache/maven/resolver/maven-resolver-api/1.9.5-SNAPSHOT/maven-resolver-api-1.9.5-SNAPSHOT.jar:~/.m2/repository-oss/org/apache/maven/resolver/maven-resolver-util/1.9.5-SNAPSHOT/maven-resolver-util-1.9.5-SNAPSHOT.jar org.eclipse.aether.util.version.GenericVersionScheme 2.13.5.SP1-redhat-00002 2.13.5.Final-redhat-00002
> Display parameters as parsed by Maven Resolver (in canonical form and as a list of tokens) and comparison result:
> 1. 2.13.5.SP1-redhat-00002 -> 2.13.5.SP1-redhat-00002; tokens: [2, 13, 5, 1, 1, redhat, 2]
>    2.13.5.SP1-redhat-00002 > 2.13.5.Final-redhat-00002
> 2. 2.13.5.Final-redhat-00002 -> 2.13.5.Final-redhat-00002; tokens: [2, 13, 5, 0, redhat, 2]
> $ java -cp ~/.m2/repository-oss/org/apache/maven/resolver/maven-resolver-api/1.9.5-SNAPSHOT/maven-resolver-api-1.9.5-SNAPSHOT.jar:~/.m2/repository-oss/org/apache/maven/resolver/maven-resolver-util/1.9.5-SNAPSHOT/maven-resolver-util-1.9.5-SNAPSHOT.jar org.eclipse.aether.util.version.GenericVersionScheme 2.13.5.SP1 2.13.5.Final
> Display parameters as parsed by Maven Resolver (in canonical form and as a list of tokens) and comparison result:
> 1. 2.13.5.SP1 -> 2.13.5.SP1; tokens: [2, 13, 5, 1, 1]
>    2.13.5.SP1 > 2.13.5.Final
> 2. 2.13.5.Final -> 2.13.5.Final; tokens: [2, 13, 5]
> $  {noformat}
> Resolver both inputs parses and compares in consistent way.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)