Releasing a Maven plugin is much the same as any other Maven project. The following guide walks through most of the steps:
Note that plugins have particular conventions for deploying the project site. When encountered in the release process above, perform the following steps:
Once the release is prepared, but before the release vote, the site needs to be staged.
The plugin parent POM will be configured to publish the documentation in Apache svn https://svn.apache.org/repos/infra/websites/production/maventest/content/plugins/maven-XXX-plugin-staging (TODO: configure pubScmUrl)
Stage the documentation for the current release version (not the new snapshot).
cd target/checkout mvn -Preporting site site:stage scm-publish:publish-scm # waiting for POM configuration, add -Dscmpublish.pubScmUrl=scm:svn:https://svn.apache.org/repos/infra/websites/production/maventest/content/plugins/maven-XXX-plugin-staging
Note: You should verify the deployment of the site on the Maven website (you need to wait snvpubsub), which should be a matter of seconds.
http://maven.apache.org/plugins/maven-XXX-plugin-staging/
After the release has passed, the site needs to be updated:
svn cp https://svn.apache.org/repos/infra/websites/production/maventest/content/plugins/maven-XXX-plugin-staging \ https://svn.apache.org/repos/infra/websites/production/maventest/content/plugins/maven-XXX-plugin-Y.Z
RewriteRule ^plugins/maven-XXX-plugin/(.*)$ /plugins/maven-XXX-plugin-Y.Z/$1 [L]
Publish the documentation for the current release version.
cd target/checkout mvn -Preporting site site:stage scm-publish:publish-scm # waiting for POM configuration, add -Dscmpublish.pubScmUrl=scm:svn:https://svn.apache.org/repos/infra/websites/production/maventest/content/plugins/maven-XXX-plugin
Use the CMS to update the plugins page, made easy with the CMS bookmarklet.
Instead of doing command line svn and extpaths.txt + .htaccess edits, the staging/release operations could be automated as web ui like following: