Error formatting macro: pagetree: java.lang.NullPointerException

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added manual Maven upload instructions

Clojure releases 1.3.0-alpha5 and earlier

  1. your key must be installed on build.clojure.org!
  2. git checkout onto the correct branch
  3. create/edit changes.txt
  4. run ./release.sh (follow instructions for args)
  5. if build succeded:
    1. upload the ZIP package to http://github.com/clojure/clojure/downloads
    2. update the download links at http://clojure.org
    3. git push your changes
  6. if build failed:
    1. 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

  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 http://github.com/clojure/clojure-contrib/downloads
  9. Update the download links at http://clojure.org.
  10. 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.

Wish list

  • In a more perfect world, the hudson user would not have login, but would have scp.

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 (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`
  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 oss.sonatype.org 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)"