Release PluginThis is a Maven 3.x Plugin which is used by Apache Commons releases. See the Development page for information to help maintain this plugin. The main purpose of the plugin is to automate the steps of our, namely The Apache Commons Project's, release process. Currently we have the mechanics for detaching distribution artifacts (i.e. all tar.gz artifacts and signatures as well as all .zip artifacts and signatures), creating a site.zip file, and staging all of those artifacts in a subversion repository (for the most part a sub directory of https://dist.apache.org/repos/dist/dev/commons/. It can, however, stage to any subversion repository. Plugin GoalsAvailable Goals (which are meant to be used together; the only reason they are separated is for code readability):
Using the pluginConfigure the plugin as the last plugin in the<build> section of the pom.xml <plugin> <groupId>org.apache.commons</groupId> <artifactId>commons-release-plugin</artifactId> <version>1.7</version> <configuration> <distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/foo</distSvnStagingUrl> <isDistModule>true</isDistModule> </configuration> <executions> <execution> <id>clean-staging</id> <phase>post-clean</phase> <goals> <goal>clean-staging</goal> </goals> </execution> <execution> <id>detach-distributions</id> <phase>verify</phase> <goals> <goal>detach-distributions</goal> </goals> </execution> <execution> <id>stage-distributions</id> <phase>deploy</phase> <goals> <goal>stage-distributions</goal> </goals> </execution> </executions> </plugin> After the above configuration performing the release would occur by (note. more in depth details can be found at Preparations For A Release):
If the component is new, then, before running this maven command, you would want to create the requisite subversion directory https://dist.apache.org/repos/dist/dev/commons/foo. Notice, that the way to perform a dry run of the release you need to include -Dcommons.release.dryRun=true -Ptest-deploy. |