Releasing Hibernate Validator

 

Release Process

Follow these steps for a official release.

Prepare

  • Before you release try the latest snapshot of Validator in Core to make sure the snapshot works in Hibernate ORM.
  • Double check distribution/pom.xml and distribution/src/main/assembly/dist.xml list and include the right dependencies (this is especially important when dependencies changed).
  • Make sure there are no outstanding issues in Jira and release the Jira version.
  • Check the README.md file and update version and date.
  • Get the changelog for the release from JIRA and add it to changelog.txt in the root directory.
  • Commit any outstanding changes.

Release

 

NOTE: Use JDK 7 to do the build. The resulting binaries are Java 6 compatible, but some test dependencies (EL) use the Java 7 class file format.

NOTE: The release is done using the maven release plugin. Make sure to use the JBoss public Maven repository as only repository - see settings-example.xml.

NOTE: To avoid interferences from previously installed artifacs you should use a clean local Maven repository in order.

NOTE: If you get a 301 error during the release:perform step, it might help to use Maven 3.0.3 instead of 3.0.4 due to this bug.

 

  • Tag the release. You'll be prompted to specify the tag name (e.g. 4.3.1.Final), release version (e.g. 4.3.1.Final) and next working version (e.g. 4.3.2-SNAPSHOT). By specifying -DpushChanges=false, you have the chance to examine the tag before pushing it upstream:
    > mvn release:prepare -s settings-example.xml -Dmaven.repo.local=/path/to/local/repo
  • Perform the release. This requires that your Nexus user is specified for the jboss-releases-repositoryin your Maven settings.
    > mvn release:perform -s settings-example.xml -Dmaven.repo.local=/path/to/local/repo 
    > git push upstream HEAD 
    > git push upstream  <release-version> 
    • Distribution artifacts (zip and tar bundles as well as a extracted directory) can be found after the build under target/checkout/distribution/target.
  • Release the artifacts on the JBoss Nexus repository manager. This ia a two-step process.  Log into Nexus and examine your staging repository. You can either drop it in order to start over again or you can close and promote it making the artifacts available in the live repository. You can find more information in the description of the JBoss project release process. A Maven settings.xml for testing the artifacts in the staging repository can be found here.
  • Transfer the released issues in JIRA to the Closed state.

 

Publish

NOTE: In the HTML version of the reference guide, some special characters and the section titles will show up not correctly when opening the file locally. This is a known issue, the documentation looks correct when retrieved via Apache.

 

  • Use the script release.rb provided in the distribution bundle which automates the SourceForge and JBoss Docs upload. See README.md for the prerequisites and how to use the script. You need to execute the script from target/checkout/distribution/src/scripts. The script basically automates these two steps:
    • Copy the dist packages (hibernate-validator-<version>-dist.zip and hibernate-validator-<version>-dist.tar.gz) together with README.md and changelog.txt from the unpacked bundle to SourceForge. Documentation on how to use the Sourceforge interface can be found here (there is also the possibility to use scp or rsync).
    • Update the documentation on http://docs.jboss.org/hibernate/. For each minor version (e.g. 4.3, 5.0 etc.) the documentation from the latest micro version is published (e.g. 4.3.1.Final, 5.0.0.Beta1 etc.). Change into the directory of the unpacked bundle and sync the docs:
      > rsync -rv  --delete --protocol=28 docs/hibernate<at>filemgmt.jboss.org:/docs_htdocs/hibernate/validator/<version>
      

 

Announce