babashka/script/bump_version.clj

29 lines
1.3 KiB
Clojure
Raw Normal View History

2019-12-21 10:48:02 +00:00
#!/usr/bin/env bb
(ns bump-version
(:require [clojure.java.io :as io]
2019-12-24 09:41:01 +00:00
[clojure.string :as str]
[clojure.java.shell :refer [sh]]))
2019-12-21 10:48:02 +00:00
(def version-file (io/file "resources" "BABASHKA_VERSION"))
(def released-version-file (io/file "resources" "BABASHKA_RELEASED_VERSION"))
(case (first *command-line-args*)
"release" (let [version-string (str/trim (slurp version-file))
[major minor patch] (str/split version-string #"\.")
2019-12-24 09:41:01 +00:00
patch (str/replace patch "-SNAPSHOT" "")
new-version (str/join "." [major minor patch])]
(spit version-file new-version)
(sh "git" "commit" "-a" "-m" (str "v" new-version))
(println (:out (sh "git" "diff" "HEAD^" "HEAD"))))
2019-12-21 10:48:02 +00:00
"post-release" (do
(io/copy version-file released-version-file)
(let [version-string (str/trim (slurp version-file))
[major minor patch] (str/split version-string #"\.")
patch (Integer. patch)
2019-12-24 09:41:01 +00:00
patch (str (inc patch) "-SNAPSHOT")
new-version (str/join "." [major minor patch])]
(spit version-file new-version)
(sh "git" "commit" "-a" "-m" "Version bump")))
2019-12-21 10:48:02 +00:00
(println "Expected: release | post-release."))