A Leiningen plugin to update the project version.
Put [lein-set-version "0.4.1"]
into the :plugins
vector of your :user
profile.
For example, to update the version of your project to 1.0.0
$ lein set-version 1.0.0
This will also work with lein-sub
, and will update the intra-project
dependency versions too.
Without a version argument, and "-SNAPSHOT" is removed from the current project version and that version is used.
Apart from project.clj
, lein-set-version can also update other files. To
configure this, add entries to the :updates
vector in the project
:set-version
key. Each entry should be a map, containing at least a :path
key with the project relative path of the file to be updated.
:set-version
{:updates [{:path "README.md" :no-snapshot true}
{:path "src/leiningen/ritz.clj"
:search-regex
#"some text \"\d+\.\d+\.\d+(-SNAPSHOT)?\""}]}
:no-snapshot
: Prevents updating the file to a "-SNAPSHOT" version. Defaults to false.
:search-regex
: Finds text to be replaced. Defaults to a regex for the existing project
version (or the previous version if the current version is a snapshot and
:no-snapshot
is true).
:replace-regex
: A regex applied to the text matched by :search-regex
. The matching region is
replaced with the new version. Defaults to a regex for the existing project
version (or the previous version if the current version is a snapshot and
:no-snapshot
is true).
Note that the previous version may need to be supplied on the command line when
:no-snapshot
is used, and the current version ends in a ".0". You can specify
this using the :previous-version
keyword.
lein set-version 1.1.0 :previous-version 1.0.2
You can pass :dry-run true
to run without changing any files. In this mode
the changes to be made are displayed.
lein-release : automatically manages your project’s version and deploys the built artifact
lein-sub : execute tasks on sub-projects
Leiningen Plugins Wiki : comprehensive list of plugins
Copyright © 2012 Hugo Duncan
Distributed under the Eclipse Public License.