You can find the full source code for this website in the Seam package in the directory /examples/wiki. It is licensed under the LGPL.
The org.jboss.weld:weld-parent module sits at the top of the hierarchy for every POM in Weld and the CDI TCK. It controls the plugin versions used, as well as specifying the distribution management. It is located in the parent directory of the Weld build repository.
Before you start, take a look at the getting started guide.
Maven is strict (which is not a bad thing!) about ensuring that all dependencies are non-snapshot before starting the release. So, check all the plugin definitions in pom.xml, and release any dependencies needed. If you do decide to increment a version of any plugin, make sure you test all the Weld projects with the new plugin version!
The maven release plugin is very powerful, and will transform all your POMs to a release version, tag them, and then revert trunk or the branch back to a development version. We can also do a dry run to check there are no snapshot dependencies (for example, a developer might have mistakenly put the version in a sub-module). If there are any problems, you need to fix them, and check in the changes.
Make sure all the changes are checked in using:
git status
Make sure that you have no outstanding changes, and all your changes are pushed to the remote repo.
Let X be the current version (minus the -SNAPSHOT) part and Y be the next version. Run:
mvn release:prepare --batch-mode -Drelease -DdevelopmentVersion=Y-SNAPSHOT -DreleaseVersion=X -Dtag=X -DdryRun
This will run through the release process, but not actually perform the tagging (as indicated by the -DdryRun flag).
If the build fails, go back and correct the problems ;)
Now we are ready to tag the release. Make sure the tag doesn't already exist, and run:
mvn release:prepare --batch-mode -Drelease -DdevelopmentVersion=Y-SNAPSHOT -DreleaseVersion=X -Dtag=X -Dresume=false
Now, run:
mvn release:perform nexus:staging-close -Drelease
You should see all the artifacts uploaded to the staging repository. You can promote them through the web interface.