-
Notifications
You must be signed in to change notification settings - Fork 0
/
versioning.clj
32 lines (25 loc) · 935 Bytes
/
versioning.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
(ns ^{:author "Jeremy Schoffen"
:doc "
Default config pertaining to versioning utilities.
"}
fr.jeremyschoffen.mbt.alpha.default.config.versioning
(:require
[fr.jeremyschoffen.mbt.alpha.default.specs]
[fr.jeremyschoffen.mbt.alpha.default.config.impl :as impl]
[fr.jeremyschoffen.mbt.alpha.utils :as u]))
(u/pseudo-nss
project
versioning)
(defn tag-base-name
"Defaults to `project/name` + a suffix depending on `:...mbt.alpha.versioning/major`."
[{p-name ::project/name
major ::versioning/major}]
(-> p-name
(cond-> (and major (not= major :none))
(str "-" (name major)))))
(u/spec-op tag-base-name
:param {:req [::project/name]
:opt [::versioning/major]}
:ret ::versioning/tag-base-name)
(def conf {::versioning/major :none
::versioning/tag-base-name (impl/calc tag-base-name ::project/name ::versioning/major)})