- reads version String from file (if exists) into a map
- updates part(s) of the version map
- writes file back and returns new version
Parsed data output map :
#:exoscale.deps-version{:major 1 :minor 2 :patch 3 :suffix "SNAPSHOT" :raw "1.2.3-SNAPSHOT"}
Add to your deps
{:deps {org.clojure/clojure {:mvn/version "1.11.0"}}
:paths ["src"]
:aliases
{:deps-version {:deps {exoscale/deps-version {:git/sha "..."
:git/url "git@github.com:exoscale/deps-version.git"}}
:ns-default exoscale.deps-version}}}clj -Ttools install exoscale/deps-version '{:git/sha "" :git/url "git@github.com:exoscale/deps-version.git"}' :as version
Then you can just use it by running:
clj -Tversion update-version '{:key :patch}'
clj -Tversion update-version '{:key :major}'
clj -Tversion update-version '{:key :minor :op :dec}'
clj -Tversion update-version '{:key :patch :suffix "SNAPSHOT"}'
clj -Tversion update-version '{:suffix nil}'or simply as a library