Maven Shared Components
  1. Maven Shared Components
  2. MSHARED-191

Specification-Version must not contain "-SNAPSHOT"

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: maven-archiver-2.4.1
    • Fix Version/s: maven-archiver-3.0.1
    • Component/s: maven-archiver
    • Labels:
      None
    • Environment:
      Ubuntu 10.10, Maven 2.2.1 and Maven 3.0.3, OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1) (64 bits)
      Mint 17.1, Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode), Maven 3.2.5
    • Flags:
      Patch

      Description

      When building an artifact with a SNAPSHOT version,
      Specification-Version and Implementation-Version are both set to ${pom.version} (as described in the documentation).

      But this will break the deployment in a container like WebLogic Server 10.3.4.
      This behavior is compliant with specification
      http://download.oracle.com/javase/6/docs/technotes/guides/versioning/spec/versioning2.html#wp89939
      where it is said that "Specification version numbers use a Dewey decimal notation consisting of numbers seperated by periods"

      Further in this spec, in § "1.5.10 Rationale for limiting Implementation version numbers to identity", it is explained why Implementation-Version need to be compared strictly for equality.

      So we can understand that:

      • Specification-Version must NOT have "-SNAPSHOT" suffix. This is legal to keep only the beginning of ${pom.version}, because it represents the spec version, not the build ;
      • Implementation-Version has to be set to ${pom.version} to represent the exact version of the build.

      This used to be the behavior in Maven 1:
      http://maven.apache.org/maven-1.x/plugins/jar/manifest.html

      1. MSHARED-191.patch
        8 kB
        Michael Osipov

        Issue Links

          Activity

          Romain Buquet created issue -
          Michael Osipov made changes -
          Field Original Value New Value
          Resolution Won't Fix [ 2 ]
          Status Open [ 1 ] Closed [ 6 ]
          Romain Buquet made changes -
          Status Closed [ 6 ] Reopened [ 4 ]
          Resolution Won't Fix [ 2 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 13:14:21 UTC 2015 [ 1428239661755 ]
          Mark Thomas made changes -
          Workflow jira [ 12726187 ] Default workflow, editable Closed status [ 12764246 ]
          Mark Thomas made changes -
          Patch Submitted Yes [ 10763 ]
          Flags Patch [ 10430 ]
          Mark Thomas made changes -
          Project Import Mon Apr 06 01:15:59 UTC 2015 [ 1428282959282 ]
          Mark Thomas made changes -
          Workflow jira [ 12963769 ] Default workflow, editable Closed status [ 13000018 ]
          Romain Buquet made changes -
          Description When building an artifact with a SNAPSHOT version,
          Specification-Version and Implementation-Version are both set to ${pom.version} (as described in the documentation).

          But this will break the deployment in a container like WebLogic Server 10.3.4.
          This behavior is compliant with specification
          http://download.oracle.com/javase/6/docs/technotes/guides/versioning/spec/versioning2.html#wp89939
          where it is said that "Specification version numbers use a Dewey decimal notation consisting of numbers seperated by periods"

          Further in this spec, in § "1.5.10 Rationale for limiting Implementation version numbers to identity", it is explained why Implementation-Version need to be compared strictly for equality.

          So we can understand that:
          - Specification-Version must NOT have "-SNAPSHOT" suffix. This is legal to keep only the beginning of ${pom.version}, because it represents the spec version, not the build ;
          - Implementation-Version has to be set to ${pom.version} to represent the exact version of the build.

          This used to be the behavior in Maven 1:
          http://maven.apache.org/maven-1.x/plugins/jar/manifest.html
          When building an artifact with a SNAPSHOT version,
          Specification-Version and Implementation-Version are both set to $\{pom.version\} (as described in the documentation).

          But this will break the deployment in a container like WebLogic Server 10.3.4.
          This behavior is compliant with specification
          http://download.oracle.com/javase/6/docs/technotes/guides/versioning/spec/versioning2.html#wp89939
          where it is said that "Specification version numbers use a Dewey decimal notation consisting of numbers seperated by periods"

          Further in this spec, in § "1.5.10 Rationale for limiting Implementation version numbers to identity", it is explained why Implementation-Version need to be compared strictly for equality.

          So we can understand that:
          * Specification-Version must NOT have "-SNAPSHOT" suffix. This is legal to keep only the beginning of $\{pom.version\}, because it represents the spec version, not the build ;
          * Implementation-Version has to be set to $\{pom.version\} to represent the exact version of the build.

          This used to be the behavior in Maven 1:
          http://maven.apache.org/maven-1.x/plugins/jar/manifest.html
          Romain Buquet made changes -
          Environment Ubuntu 10.10, Maven 2.2.1 and Maven 3.0.3, OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1) (64 bits)
          Ubuntu 10.10, Maven 2.2.1 and Maven 3.0.3, OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1) (64 bits)
          Mint 17.1, Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode), Maven 3.2.5
          Michael Osipov made changes -
          Link This issue is duplicated by MSHARED-432 [ MSHARED-432 ]
          Michael Osipov made changes -
          Assignee Michael Osipov [ michael-o ]
          Michael Osipov made changes -
          Fix Version/s maven-archiver-3.0.1 [ 12334036 ]
          Michael Osipov made changes -
          Status Reopened [ 4 ] In Progress [ 3 ]
          Michael Osipov made changes -
          Attachment MSHARED-191.patch [ 12779158 ]
          Michael Osipov made changes -
          Attachment patch maven-archiver [ 12719090 ]
          Michael Osipov made changes -
          Priority Major [ 3 ] Critical [ 2 ]
          Michael Osipov made changes -
          Status In Progress [ 3 ] Open [ 1 ]
          Michael Osipov made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Michael Osipov made changes -
          Status In Progress [ 3 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]

            People

            • Assignee:
              Michael Osipov
              Reporter:
              Romain Buquet
            • Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development