Uploaded image for project: 'Maven Release Plugin'
  1. Maven Release Plugin
  2. MRELEASE-797

support semantic versioning



    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Duplicate
    • 2.3.2
    • None
    • update-versions
    • None
    • Maven 3.0.4


      When a project is using semantic versioning, the maven-release-plugin will only increment the right-most version identifier (which corresponds to a "patch" release in semver terminology). It would be helpful if the maven-release-plugin understood the 3 normal release severities: major, minor and patch.

      Current behavior:

      1. Given a pom.xml with version 1.0.50-SNAPSHOT
      2. When the user executes mvn release:update-versions -Dsemver=major (as a hypothetical syntax)
      3. Then observe that pom.xml contains 1.0.51-SNAPSHOT, not 2.0.0-SNAPSHOT as a "major" release would dictate

      Expected behavior:

      1. Given a pom version in X.Y.Z format
      2. When one indicates the desired semantic version release level to maven-release-plugin
      3. Then maven-release-plugin increments X.Y.Z according to the user's indicated release level

      It would be an error condition for the user to request a semantic version release level when the pom's version is not in X.Y.Z format (plus any miscellaneous trailing text as specified in rules 10, 11 or 12 of the semver specification).

      It is currently possible to work around this via manual construction of a release.properties file, but that requires a 2 step build process: run the script then run the Maven targets. Further, one would expect that all Maven projects that use semantic versioning would need to implement their own pre-release scripts, which is wasteful.


        Issue Links



              rfscholte Robert Scholte
              mdaniel Matthew Daniel
              0 Vote for this issue
              4 Start watching this issue