[ https://issues.apache.org/jira/browse/MRESOLVER-336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17807299#comment-17807299 ]
ASF GitHub Bot commented on MRESOLVER-336: ------------------------------------------ dmlloyd commented on PR #406: URL: https://github.com/apache/maven-resolver/pull/406#issuecomment-1893948794 > @dmlloyd General remarks: > > * let's put aside `maven-artifact` (is to be killed off in Maven4, or around). Fair enough :+1: > * I tend to NOT modify existing UTs, not to redefine or introduce breaking change needed to touch existing UTs, as that would lead to (most probable) breakage in versions already out there in the wild. What do you mean by "UT"? I will note that this spec, as it stands, already changes several existing behaviors. I'd say that the best thing would be to clarify and establish a global, simple, and context-free set of rules, since breakage is inevitable, but at the same time, prefer behaviors that are most consistent with what exists today. > * On the other hand, Maven4 is now prepared to support "alternate" version schemes, as somewhat explained in the issue https://issues.apache.org/jira/browse/MNG-7951 (technically: different schemes per maven session). I don't know if this will be a good thing or a bad thing. Probably both :) > Unexpected handling of qualifiers in GenericVersionScheme > --------------------------------------------------------- > > Key: MRESOLVER-336 > URL: https://issues.apache.org/jira/browse/MRESOLVER-336 > Project: Maven Resolver > Issue Type: Bug > Components: Resolver > Affects Versions: 1.9.5 > Reporter: David M. Lloyd > Assignee: Tamas Cservenak > Priority: Major > > Given the following: > {code} > $ jbang --main=org.eclipse.aether.util.version.GenericVersionScheme > org.apache.maven.resolver:maven-resolver-util:1.9.5 0.0.0.ga.ga.foo foo > Display parameters as parsed by Maven Resolver (in canonical form and as a > list of tokens) and comparison result: > 1. 0.0.0.ga.ga.foo -> 0.0.0.ga.ga.foo; tokens: [0, 0, 0, foo] > 0.0.0.ga.ga.foo == foo > 2. foo -> foo; tokens: [foo] > {code} > This is expected iff zero-prefixed qualifiers are considered equal to the > bare qualifier, which does seem to be the case *mostly*. However, we also > have this: > {code} > $ jbang --main=org.eclipse.aether.util.version.GenericVersionScheme > org.apache.maven.resolver:maven-resolver-util:1.9.5 ga.ga.foo foo > Display parameters as parsed by Maven Resolver (in canonical form and as a > list of tokens) and comparison result: > 1. ga.ga.foo -> ga.ga.foo; tokens: [0, 0, foo] > ga.ga.foo < foo > 2. foo -> foo; tokens: [foo] > {code} > In this case we have "zero"-valued qualifiers but no leading numerical > segment, which unexpectedly changes the parsing rules. I would expect > {{ga.ga.foo == foo}} as above. Is this a bug? Is there an explanation for > this behavior? The spec doesn't seem to directly address this. -- This message was sent by Atlassian Jira (v8.20.10#820010)