Skip to end of metadata
Go to start of metadata

Clojure releases 1.4 and later

  1. login to with sufficient privileges
  2. navigate to
  3. set release version to e.g. 1.5.0-alpha30
  4. set development version to e.g. 1.5.0-master-SNAPSHOT
    1. development version must end in -SNAPSHOT
  5. review carefully! 
  6. click "Schedule Maven Release"
  7. wait a few minutes for build, and then a few hours for propagation to Maven Central

Clojure releases 1.3.0-alpha5 and earlier

  1. your key must be installed on!
  2. git checkout onto the correct branch
  3. create/edit changes.txt
  4. run ./ (follow instructions for args)
  5. if build succeded:
    1. upload the ZIP package to
    2. update the download links at
    3. git push your changes
  6. if build failed:
    1. clean up any messes as necessary (locally and on
      #Use "mvn deploy" to copy the Maven artifacts from local repo to

clojure-contrib releases after 1.2.0

  1. "mvn clean"
  2. git checkout onto the correct branch
  3. Modify top-level "pom.xml":
    1. change <version>whatever-version</version>
  4. Modify "modules/parent/pom.xml":
    1. change <clojure.version>whatever-clojure-version</clojure.version>
    2. change <clojure.contrib.version>whatever-version</version>
  5. "git commit -a"
  6. "git tag whatever-version""
  7. "mvn install" to install Maven artifacts in local repo.
  8. Upload "modules/complete/target/*.jar" to
  9. Update the download links at
  10. Use "mvn deploy" to copy the Maven artifacts from local repo to You will need to put hudson/your-private-key path info in .m2/settings.xml on your local box.

Manually uploading to Maven Central

Maven releases executed by Hudson do this automatically. This explains how to manually get a 1.2.x Clojure release into Maven Central.

  1. Download and install GNUPG
  2. Get the private key "Clojure/core ( Release Key) <>". Someone who already has the release key can run `gpg --armor --export-secret-keys "Clojure/core ( Release Key) <>" > secret-key.asc`
  3. Add it to your private keyring with `gpg --import secret-key.asc`
  4. For each file in the release (.pom, .jar, ...), run `gpg -ab file`. This creates a .asc file.
  5. Log in to as "clojure-build"
  6. Click on the "Staging Upload" link on the left
  7. Select "Upload Mode" of "Artifact(s) with a POM"
  8. Click "Select POM to upload" and choose the .pom file
  9. For each .jar and .jar.asc file, click "Select Artifact(s) to Upload..." then choose the file and click "Add Artifact". Leave the auto-generated "Classifier" and "Extension" fields alone.
  10. Repeat step 9 for the .pom.asc file, but change "Extension" to "pom.asc"
  11. Click "Upload Artifact(s)"