Clojure releases 1.4 and later
- login to http://build.clojure.org/ with sufficient privileges
- navigate to http://build.clojure.org/job/clojure/m2release/?
- set release version to e.g. 1.5.0-alpha30
- set development version to e.g. 1.5.0-master-SNAPSHOT
- development version must end in -SNAPSHOT
- review carefully!
- click "Schedule Maven Release"
- wait a few minutes for build, and then a few hours for propagation to Maven Central
Clojure releases 1.3.0-alpha5 and earlier
- your key must be installed on build.clojure.org!
- git checkout onto the correct branch
- create/edit changes.txt
- run ./release.sh (follow instructions for args)
- if build succeded:
- upload the ZIP package to http://github.com/clojure/clojure/downloads
- update the download links at http://clojure.org
- git push your changes
- if build failed:
- clean up any messes as necessary (locally and on build.clojure.org)
#Use "mvn deploy" to copy the Maven artifacts from local repo to build.clojure.org/releases.
clojure-contrib releases after 1.2.0
- "mvn clean"
- git checkout onto the correct branch
- Modify top-level "pom.xml":
- change <version>whatever-version</version>
- Modify "modules/parent/pom.xml":
- change <clojure.version>whatever-clojure-version</clojure.version>
- change <clojure.contrib.version>whatever-version</version>
- "git commit -a"
- "git tag whatever-version""
- "mvn install" to install Maven artifacts in local repo.
- Upload "modules/complete/target/*.jar" to http://github.com/clojure/clojure-contrib/downloads
- Update the download links at http://clojure.org.
- Use "mvn deploy" to copy the Maven artifacts from local repo to build.clojure.org/releases. 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.
- Download and install GNUPG
- Get the private key "Clojure/core (build.clojure.org Release Key) <core@clojure.com>". Someone who already has the release key can run `gpg --armor --export-secret-keys "Clojure/core (build.clojure.org Release Key) <core@clojure.com>" > secret-key.asc`
- Add it to your private keyring with `gpg --import secret-key.asc`
- For each file in the release (.pom, .jar, ...), run `gpg -ab file`. This creates a .asc file.
- Log in to oss.sonatype.org as "clojure-build"
- Click on the "Staging Upload" link on the left
- Select "Upload Mode" of "Artifact(s) with a POM"
- Click "Select POM to upload" and choose the .pom file
- 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.
- Repeat step 9 for the .pom.asc file, but change "Extension" to "pom.asc"
- Click "Upload Artifact(s)"