For projects using Hudson at build.clojure.org
Note: 1.0.0 release requires Clojure/core approval
Preparation
- Your project must have a pom.xml file with a -SNAPSHOT version
- The pom.xml file must specify a parent, the latest released version of pom.contrib in build.ci
- See Central Repository Search for pom.contrib for latest version
How to make a -SNAPSHOT release
- Your project must have a pom.xml file with a -SNAPSHOT version
- Push to "master" branch on GitHub
- Hudson polls GitHub once every hour and builds automatically
- Or you can click "Build Now" on the project page
- Hudson uploads a uniquely-numbered JAR file to the Sonatype OSS Snapshot Repository
How to make a numbered release
- The "master" branch in GitHub must have a pom.xml file with a -SNAPSHOT version, not a bare version number
- Log in to Hudson
- Navigate to your project's home page (example)
- Click "Perform Maven Release" link on the left
- On the "Perform Maven Release" page:
- Select "Specify one version for all modules"
- In the "Release Version" field, enter the version number for this release of your project
- This will normally be the current development version with the "-SNAPSHOT" suffix removed
- In the "Development version" field, enter the version number for the subsequent development version of your project
- This will end with "-SNAPSHOT"
- Click "Schedule Maven Release Build"
- After the build completes successfully:
- `git pull` on your development machine to get the new release tags
- The release JAR file will be uploaded to the Sonatype OSS staging repository
- NEW: Notify the clojure-dev list of your staged release
- NEW: An admin will release it for promotion to the Maven Central Repository
- (These new steps are temporary until we work out how to automate releases on new Sonatype Nexus server.)
Contrib Release Numbering Policy
- Use Semantic Versioning: major.minor.patch
- Clojure/core team must approve first 1.0.0 release
Labels: