Performing a release runs the following release phases:
To perform a release, execute this command:
mvn release:perform
This relies on release.properties being present from a previous release preparation. If this is not the case, you need to give the goal the URL and an optional tag to perform the release from. For example:
mvn org.apache.maven.plugins:maven-release-plugin:2.5.2:perform -DconnectionUrl=scm:svn:https://svn.mycompany.com/repos/path/to/myproject/tags/myproject-1.2.3
release:perform will fork a new Maven instance to build the checked-out project. This new Maven instance will use the same system configuration and Maven profiles used by the one running the release:perform goal. Since there's no pom.xml, you should use the fully qualified name of the goal to ensure the right version of the maven-release-plugin is used.
It is possible to force some profiles to get enabled during release (for example to enable time-consuming tasks that are only relevant at release-time) by setting a comma separated list of profiles names in the releaseProfiles parameter. The goals and profiles required to release the project can then be configured in the POM:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.5.2</version> <configuration> <!-- During release:perform, enable the "release" profile --> <releaseProfiles>release</releaseProfiles> </configuration> </plugin>
After the release is complete, the release.properties and other release files will be removed from the checkout.