This is a check list of stuff that has to be done before a new version of a plugin is released.
If the plugin is making its first official release, it should graduate from the sandbox. When this occurs, the following steps should be followed:
When a plugin is ready to have its first production release (i.e. not an alpha or beta release) there are a couple of extra things that needs to be taken care of:
mvn docck:check
If there are any errors - fix them. There are a couple of errors that might not need to be fixed. As an example: it's better not to add an FAQ document than to add a bogus one.
Before a release can occur, a vote typically takes place. This is initiated with an email to the dev list, preferrably with a subject that starts with [vote] . Explain the plugin, status and any other info you feel relevant. The standard is to wait 72 hours for responses. This gives other developers time to verify the quality of the plugin before placing their vote. See the Apache Voting Guidelines for more information.
The release process should be done using the Maven Release Plugin :
This will make sure all code is checked in, tag the release and make sure the POM has no snapshot dependencies. If your local username is not the same as your codehaus username, be sure to add -Dusername= <codehaus username> .
This will build the plugin, javadocs and source. Everything will be deployed to the repository for synchronization to the central repository. The synchronization occurs every 4 hours. It will also build and deploy the site.
Of course, to release the Mojo Parent POM, a vote takes place just for an ordinary plugin release. But when it comes to actually perform the release, there are some differences to watch out for:
The important thing to note here is the parameter -Dgoals=deploy . By default, the Release Plugin would execute the phases deploy and site-deploy on the parent POM. However, the site of the parent POM is not meant to be deployed, we have a separate project for this. The configuration of the site distribution in the parent POM exists solely for the purpose of inheritance by the plugins. Accidentally deploying the parent's site would damage the Mojo website, most notably the index.html .