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.

This document describes the release process for the CDI TCK. We assume you are in the root directory of the TCK. Before you start, take a look at the getting started guide.

We follow the JBoss Version Conventions when deciding on version numbers.

Ensure all dependencies are released

Maven is strict (which is no bad thing!) about ensuring that all dependencies are non-snapshot before starting the release. So, check the properties in pom.xml, and release any dependencies needed. You'll also need to ensure that the <properties> in dist/pom.xml point to a released version of Weld (as we bundle the JBoss AS/Weld TCK runner in the TCK distribution.

Finally, we use a svn:externals to allow the reference guide to include part of the JBoss Test Harness reference guide. Ensure that svn propget svn:externals doc/reference/en-US/ is pointing to the tag of the test harness version in use (check pom.xml).

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 svn status.

Now, run mvn release:prepare --batch-mode -Drelease -DdevelopmentVersion=A.B.C-SNAPSHOT -DreleaseVersion=X.Y.Z.Q -Dtag=X.Y.Z.Q -DdryRun - this will run through the release process, but not actually perform the tagging.

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=A.B.C-SNAPSHOT -DreleaseVersion=X.Y.Z.Q -Dtag=X.Y.Z.Q -Dresume=false.

Once this finishes, verify that the tag is correct (e.g. use a browser).

Perform the release to maven

Now, run mvn release:perform nexus:staging-close -Drelease. You should see all the artifacts uploaded to the staging repository.

Build the zipped distribution

Check out the assembly script from Now, run the assembly script mvn clean package -Dweld.version=A.B.C.D -Dcdi.tck.version=X.Y.Z.Q and take the zip from target/ You can also build a distribution from Weld and TCK snapshots. To do this, you will need to build both Weld and the TCK from the relevant branch/trunk, and the substitute the version number above (such as 1.0.1-SNAPSHOT).

Publish the release

We also put the release on sourceforge, and link to it from the Seam Downloads page on this site.

QA process

To start, take a look at the CDI TCK release guide. This guide describes steps taken to QA the distribution zip built as part of the release process.

  • Verify the readme is present
  • Verify the release notes are up to date
  • Verify that the zip contents match those described in the readme
  • Add JBoss Staging Repository to your .m2/settings.xml file (ask Pete Muir for the current url)
  • Check that you can run the TCK against Weld and JBoss AS as described in the reference guide Chapter 7. Executing the Test Suite. Don't forget to use the JBoss Staging Repository.

Upload the CDI TCK Reference guide to

Uploading is done using SCP, SFTP, or RSYNC in a restricted secure shell on the machine:


Once logged in place your doc content under /docs_htdocs/cdi/tck/reference/X.Y.Z.Q. It will then appear at

Uploading is done using SCP, SFTP, or RSYNC in a restricted secure shell on the machine:

rsync -r --protocol=28 target/docbook/publish/{X.Y.Z.Q}

Remember to update the latest symlink

rm latest
ln X.Y.Z.Q latest