Validating an Apache jclouds release involves verifying the following:

  • Verify that the checksums are valid.
  • Verify that the PGP signatures are valid.
  • Check that the expanded source archive matches contents of RC tag.
  • Verify that the expanded source archive builds and passes tests.
  • Check that LICENSE and NOTICE files are present and correct.
  • Make sure all files have license headers where appropriate.
  • Check that all dependencies have compatible licenses.
  • Verify that no compiled archives bundled in source archive.

Some steps require a manual verification, and others are fully automated. The following scripts can be used: 

Verify RAT, build, tests, checksums and signatures in one script

  1. Download the verification script:
    1. Unix: (if you're running this on a Mac, you'll need brew and to do a brew install gpg first).
    2. Windows: (Set the values of the variables TAR_EXEC (TarTool), FCIV_EXEC (FCIV), GPG_EXEC and SED_EXEC (GNU sed for Windows) to match your local environment).
  2. Run it and watch for failures:
    1. Unix: ./ 1.9.2-rc1
    2. Windows: .\verify_jclouds_rc.cmd <dists-folder> 1.9.2-rc1

Check that the expanded source archive matches contents of RC tag.

  1. Download the tag comparison script:
  2. Run it as: ./ <path to the folder where all the tar files are>.
  3. Watch for differences.

Validate the Maven staging repos

On your local machine create a directory and a pom.xml file to download the release candidate JARs from the staging repo. In the [VOTE] thread look for the "Maven staging repos" section and replace the xxxx below with the value from the "Maven staging repos" section. 

<project xmlns="" xmlns:xsi=""
    <!-- Add any jclouds additional dependency here -->

Run the command mvn clean -Pjclouds-staging dependency:copy-dependencies "-DoutputDirectory=./lib" -U to download the JARs to a lib directory.  At the end of it you should have a simple directory structure like so.  

jclouds-1.9.2$ ls
lib/     pom.xml

With the lib directory full of jclouds JARs. You can now use these JARs to do things like run the jclouds-examples. If something goes wrong, notify the dev list.


  • No labels