Goals available for this plugin:
Goal | Description |
---|---|
prerelease:bare-build | Preform build without a working copy. |
prerelease:bare-update | Perform update without a working copy. Svn url and revision are passed as arguments, not determined from a working copy. |
prerelease:bare-update-promote | Perform update-promote without a working copy. Svn url and revision are passed as arguments, not determined from a working copy. |
prerelease:build | Executes a build on an existing prerelease. |
prerelease:create | Creates a prerelease with an uncommitted tag and undeployed artifacts. Creating a prerelease is the first step to create a release; once you have a prerelease, you can quicky get a release by promoting the prerelease. Execute this in the svn working directory of your project. Basically, this goal runs checks, creates an uncommitted tag of your working directory and invokes "mvn clean deploy" in it. Maven is invoked with an alternative deployment repository pointing into a subdirectory of this prerelease. In addition, the "performRelease" property is defined to get the same profiles activation you get during a "release:promote" call, When successful, prereleases are stored in the configured archive directory, previous prerelease are wiped. Checks executed by this goal: 1) no uncommitted changes in your working directory. 2) no pending updates up to the last modified revision 3) no snapshot dependencies or snapshot parent pom. |
prerelease:help | Display help information on prerelease. Call mvn prerelease:help -Ddetail=true
-Dgoal=<goal-name> to display parameter details. |
prerelease:list | Lists available prepreleases and display up-to-date information. |
prerelease:locksmith | Find an delete stale locks. JVM crashes or kill -9 does not properly cleanup locks. This goals repairs them by looking for locks from processes that no longer exists. Note that this locking cleanup should run in a single, separate process to avoid running into its own locking problems. It must not be included in the lock file creating itself because there are multiple processes involved. |
prerelease:promote | Promotes a prerelease by commuting the tag and deploying its artifact(s). Execute this goal in the svn working directory of the project you want to release and make sure you have created a prerelease. This goal commits the tag of the current prerelease and deploys the respective artifact(s). It also updates (in your svn trunk or branch on the svn server) the project version in pom.xml to the next development version, and it updates your changes file (if you have one). In your svn working directory, it runs "svn up" to get the adjusted pom and changes files. Artifacts are deployed by invoking all plugin goals tied to the deploy phase. The first goal is mandatory, because it's configured by the packaging. If it fails, promotion fails. All other goals (e.g. email notifications) are optional: they may fail (yielding the respective warning), but they don't cause the promote goal to fail. Error handling. In contrast to Maven's Release Plugin there's no rollback goal: when promote fails, artifacts and tags will be properly removed. (If Tag creation fails, this goal fails with an error. If artifact deployment fails, the svn tag will be deleted from the repository and the goal fails with an error. If optional promote goal fail, the plugins succeeds, but it issues a warning.) Note that the deployment date of artifacts in the repository may be later that the release date in the changes.xml. |
prerelease:swap | Wipes archives and moves prereleases to the next storage. You usually have two storages, primary and secondary. Useful when you use ram disks: use the ramdisk as primary storage, and a harddisk as secondary storage. |
prerelease:update | Checks if there is a prerelease for the last change in your svn working directory, creates one if not. |
prerelease:update-promote | Updates and promotes a prerelease. Convenience goal. |
The following specifies the minimum requirements to run this Maven plugin:
Maven | 2.0 |
JDK | 1.7 |
Memory | No minimum requirement. |
Disk Space | No minimum requirement. |
You should specify the version in your project's plugin configuration:
<project> ... <build> <!-- To define the plugin version in your parent POM --> <pluginManagement> <plugins> <plugin> <groupId>net.oneandone.maven.plugins</groupId> <artifactId>prerelease</artifactId> <version>1.6.3-SNAPSHOT</version> </plugin> ... </plugins> </pluginManagement> <!-- To use the plugin goals in your POM or parent POM --> <plugins> <plugin> <groupId>net.oneandone.maven.plugins</groupId> <artifactId>prerelease</artifactId> <version>1.6.3-SNAPSHOT</version> </plugin> ... </plugins> </build> ... </project>
For more information, see "Guide to Configuring Plug-ins"