You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Elliotte Rusty Harold (Jira)" <ji...@apache.org> on 2023/03/01 01:33:00 UTC

[jira] [Created] (MNG-7714) sp == final

Elliotte Rusty Harold created MNG-7714:
------------------------------------------

             Summary: sp == final
                 Key: MNG-7714
                 URL: https://issues.apache.org/jira/browse/MNG-7714
             Project: Maven
          Issue Type: Bug
            Reporter: Elliotte Rusty Harold


It is easy to demonstrate that this is not fixed and also not in line with the spec, with just this one important example (yes this does break for us):

$ jbang org.apache.maven:maven-artifact:3.8.6 1.0.final-redhat-0001 1.0.sp1-redhat-0001
Display parameters as parsed by Maven (in canonical form and as a list of tokens) and comparison result:
1. 1.0.final-redhat-0001 -> 1-redhat-1; tokens: [1, [redhat, [1]]]
   1.0.final-redhat-0001 < 1.0.sp1-redhat-0001
2. 1.0.sp1-redhat-0001 -> 1.0.sp-1-redhat-1; tokens: [1, 0, sp, [1, [redhat, [1]]]]

versus

$ jbang org.apache.maven:maven-artifact:3.8.7 1.0.final-redhat-0001 1.0.sp1-redhat-0001
Display parameters as parsed by Maven (in canonical form and as a list of tokens) and comparison result:
1. 1.0.final-redhat-0001 -> 1-redhat-1; tokens: [1, [redhat, [1]]]
   1.0.final-redhat-0001 > 1.0.sp1-redhat-0001
2. 1.0.sp1-redhat-0001 -> 1-sp-1-redhat-1; tokens: [1, [sp, [1, [redhat, [1]]]]]

As you can see, our `sp` release is now ordered after our `final` release despite this clear text in the "spec":

    Non-numeric tokens ("qualifiers") have the alphabetical order, except for the following tokens which come first in this order: "alpha" < "beta" < "milestone" < "rc" = "cr" < "snapshot" < "" = "final" = "ga" < "sp"

It's clear that this tokenization isn't really correct by any reasonable measurement, and breaking large amounts of (our) existing artifacts in the wild is definitely not OK.




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