maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Meyer (JIRA)" <>
Subject [jira] [Commented] (MRELEASE-797) support semantic versioning
Date Sat, 03 Nov 2018 13:27:00 GMT


Thomas Meyer commented on MRELEASE-797:

mhh. okay. My use case is to create release versions with the maven release-plugin. I either
want to automatically increment the minor or patch version. I want to set an java property
and let do the maven-release-plugin the magic. It feels wrong to bind the version policy to
a given maven project. the release number policy should only be an command line option and
not bound to a given project at least that's my view on this topic.

but for the current SemVerPolicy to work and having tens of different maven project, for each
project you must configure a dependency to this artifact and change their pom. yes you could
do an parent pom, but its very complicated given that you just want to create a releae version
of a given artifact.

I bet this is the reason that most users of the maven-release-plugin just manually provide
the release and snapshot version via command line options.

searching the net for the already available OddEvenPolicy reveals nearly no hits, besides
the plugin itself, and some source code.


> support semantic versioning
> ---------------------------
>                 Key: MRELEASE-797
>                 URL:
>             Project: Maven Release Plugin
>          Issue Type: Improvement
>          Components: update-versions
>    Affects Versions: 2.3.2
>         Environment: Maven 3.0.4
>            Reporter: Matthew Daniel
>            Assignee: Robert Scholte
>            Priority: Minor
> 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:
> # Given a {{pom.xml}} with version {{1.0.50-SNAPSHOT}}
> # When the user executes {{mvn release:update-versions -Dsemver=major}} (as a hypothetical
> # Then observe that {{pom.xml}} contains {{1.0.51-SNAPSHOT}}, not {{2.0.0-SNAPSHOT}}
as a "major" release would dictate
> Expected behavior:
> # 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
> 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 {{}}
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.

This message was sent by Atlassian JIRA

View raw message