Version bump

This commit is contained in:
Michiel Borkent 2019-12-25 16:32:43 +01:00
parent 68e061762c
commit c446dced0e
3 changed files with 39 additions and 7 deletions

View file

@ -1 +1 @@
0.0.49
0.0.50

View file

@ -1 +1 @@
0.0.50
0.0.51-SNAPSHOT

View file

@ -2,8 +2,39 @@
(ns bump-version
(:require [clojure.java.io :as io]
[clojure.string :as str]
[clojure.java.shell :refer [sh]]))
[clojure.string :as str]))
(import '[java.lang ProcessBuilder$Redirect])
(defn shell-command
"Executes shell command. Exits script when the shell-command has a non-zero exit code, propagating it.
Accepts the following options:
`:input`: instead of reading from stdin, read from this string.
`:to-string?`: instead of writing to stdoud, write to a string and
return it."
([args] (shell-command args nil))
([args {:keys [:input :to-string?]}]
(let [args (mapv str args)
pb (cond-> (-> (ProcessBuilder. ^java.util.List args)
(.redirectError ProcessBuilder$Redirect/INHERIT))
(not to-string?) (.redirectOutput ProcessBuilder$Redirect/INHERIT)
(not input) (.redirectInput ProcessBuilder$Redirect/INHERIT))
proc (.start pb)]
(when input
(with-open [w (io/writer (.getOutputStream proc))]
(binding [*out* w]
(print input)
(flush))))
(let [string-out
(when to-string?
(let [sw (java.io.StringWriter.)]
(with-open [w (io/reader (.getInputStream proc))]
(io/copy w sw))
(str sw)))
exit-code (.waitFor proc)]
(when-not (zero? exit-code)
(System/exit exit-code))
string-out))))
(def version-file (io/file "resources" "BABASHKA_VERSION"))
(def released-version-file (io/file "resources" "BABASHKA_RELEASED_VERSION"))
@ -14,8 +45,8 @@
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"))))
(shell-command ["git" "commit" "-a" "-m" (str "v" new-version)])
(shell-command ["git" "diff" "HEAD^" "HEAD"]))
"post-release" (do
(io/copy version-file released-version-file)
(let [version-string (str/trim (slurp version-file))
@ -24,5 +55,6 @@
patch (str (inc patch) "-SNAPSHOT")
new-version (str/join "." [major minor patch])]
(spit version-file new-version)
(sh "git" "commit" "-a" "-m" "Version bump")))
(shell-command ["git" "commit" "-a" "-m" "Version bump"])
(shell-command ["git" "diff" "HEAD^" "HEAD"])))
(println "Expected: release | post-release."))