Affects Version/s: 2.3.2
Fix Version/s: None
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.
- Given a pom.xml with version 1.0.50-SNAPSHOT
- When the user executes mvn release:update-versions -Dsemver=major (as a hypothetical syntax)
- Then observe that pom.xml contains 1.0.51-SNAPSHOT, not 2.0.0-SNAPSHOT as a "major" release would dictate
- Given a pom version in X.Y.Z format
- When one indicates the desired semantic version release level to maven-release-plugin
- 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.