gitmavenmaven-pluginreleasemaven-release-plugin

How can I properly use 'mvn release:prepare'?


I tried this command (with dryrun to test) on my Maven project:

mvn release:clean release:prepare -DdryRun=true -DgenerateBackupPoms=false -Dtag=solocal-refentreprive-2.1-RC02 -DreleaseVersion=2.1-RC02 -DdevelopmentVersion=2.1-SNAPSHOT

At the end, the build is a success, but I have (in my commit) many pom.next / pom.tag and pom.backUp...

I don't when then (-DgenerateBackupPoms=false), if I use without dryrun. I don't want to push this POM...


Solution

  • Assuming you accept the defaults release:prepare performs the following

    1. build and check all tests pass

    2. check there are no SNAPSHOT dependencies

    3. change the version from x.x-SNAPSHOT to x.x

    4. push to a tag in SCM

    5. change the version for the next iteration to x.(x+1)-SNAPSHOT

    So your pom.backUp is the original pom, your pom.tag is from step 3 and your pom.next is from step 5.

    You can clean up with a mvn release:clean which will be done automatically after a release:perform see maven-release