Navigation Menu

Skip to content

palletops/lein-pallet-release

Repository files navigation

lein-pallet-release

Build Status

A Leiningen plugin to release PalletOps projects.

Releases are made by creating a local release branch which is pushed to github. The branch will be built by travis, and pushed to master and develop if it succeeds. Jars are then built locally from master and pushed to clojars.

Usage

Add the plugin to your :user :plugins in ~/.lein/profiles.clj:

:plugins [[lein-pallet-release "0.1.21"]]

Install the travis command line.

init

The init subcommand is used to initialise a project for releasing with a test on travis. It requires a single argument, a 40 digit hex github key for the pbors github user, that will be used to authorise travis to push to github master if the build succeeds. The key should only have permissions to read and write repositories.

lein pallet-release init 435afe787ab878c32432435afe787ab878c32432

This will write the .travis.yml file if it doesn't exist. It will also add the plugin and configuration to profiles.clj.

After running the command, inspect the created files and commit them.

start

To start a release, run:

lein pallet-release start previous-release new-release

This will create a release branch, enable the project on travis, and update release notes, readme, etc.

After running, check the modifications. Anything modified will be commited by the finish command.

finish

To finish a release, run:

lein pallet-release finish

This will commit any modified files (eg. README.md, project.clj, etc) with a commit message including the version number.

It then pushes the branch to github, from where travis will build it, and push it back to the master and develop branches on github.

publish

When the travis build has successfully completed, publish the jars with:

lein pallet-release publish

This will pull master from github and use your locally setup for publishing signed jars.

Configuration

You can specify the url and branch travis should push to on the :pallet-release key.

:pallet-release {:url "Url for travis to push to"
                 :develop-branch "develop"
                 :branch "master"}

Building Docs

lein with-profile +doc doc

License

Copyright © 2014 Hugo Duncan, Antoni Batchelli

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.