Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.0.0
-
None
-
None
-
None
Description
Starting with version 2.0.0, the resolver no longer considers the qualifier `ga` to be equal to `0` in some circumstances.
In 1.9.6, we have this output:
```
$ jbang --main=org.eclipse.aether.util.version.GenericVersionScheme org.apache.maven.resolver:maven-resolver-util:1.9.6 0 ga
Display parameters as parsed by Maven Resolver (in canonical form and as a list of tokens) and comparison result:
1. 0 -> 0; tokens: [0]
0 == ga
2. ga -> ga; tokens: [0]
```
Whereas in 2.0.0 we have this:
```
$ jbang --main=org.eclipse.aether.util.version.GenericVersionScheme org.apache.maven.resolver:maven-resolver-util:2.0.0 0 ga
Display parameters as parsed by Maven Resolver 'generic' scheme (in canonical form and as a list of tokens) and comparison result:
1. 0 -> 0; tokens: [0]
0 > ga
2. ga -> ga; tokens: [0]
```
While this is a major version change, and incompatibilities are to be expected, I think this should be evaluated as a possible bug. In trailing context, a zero segment such as `ga` or `0` is considered equal to any other zero segment. When a series of tokens is given, such as `0.0.ga`, it's not entirely clear what is leading and what is trailing context. I think it is reasonable to expect that `0.0.ga` == `0` == `ga` == the empty string, and thus "trailing context" should in this case be defined to include any number of trailing zero segments, even if there are no nonzero leading segments.