Help

Built with Seam

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.

Ensure all dependencies are released

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!

Checking whether you are good to go

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 ;)

Tagging the release

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

Perform the release to Nexus

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.