Skip to content

Commit d01394d

Browse files
committed
Allow filtering included packages in clojure cmd
Add the various filter command opts used in `run` and `exec` to the `clojure` command.
1 parent cfe2cd3 commit d01394d

File tree

1 file changed

+27
-2
lines changed
  • packages/kmono-cli/src/k16/kmono/cli/commands

1 file changed

+27
-2
lines changed

packages/kmono-cli/src/k16/kmono/cli/commands/clojure.clj

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,36 @@
55
[k16.kmono.cli.common.context :as common.context]
66
[k16.kmono.cli.common.opts :as opts]
77
[k16.kmono.core.deps :as core.deps]
8+
[k16.kmono.core.graph :as core.graph]
9+
[k16.kmono.core.packages :as core.packages]
810
[k16.kmono.cp :as kmono.cp]
9-
[k16.kmono.log :as log]))
11+
[k16.kmono.log :as log]
12+
[k16.kmono.version :as kmono.version]))
1013

1114
(set! *warn-on-reflection* true)
1215

13-
(defn run-clojure [{:keys [A M T X] :as props} args]
16+
(defn run-clojure [{:keys [filter skip-unchanged changed changed-since
17+
A M T X] :as props} args]
1418
(let [aliases (or A M T X)
1519
props (assoc props :aliases aliases)
1620
{:keys [root config packages]} (common.context/load-context props)
1721

22+
packages
23+
(cond-> packages
24+
filter
25+
(->> (core.graph/filter-by (core.packages/name-matches? filter)))
26+
27+
(or changed skip-unchanged)
28+
(->> (kmono.version/resolve-package-versions root)
29+
(kmono.version/resolve-package-changes root)
30+
(core.graph/filter-by kmono.version/package-changed?
31+
{:include-dependents true}))
32+
33+
changed-since
34+
(->> (kmono.version/resolve-package-changes-since root changed-since)
35+
(core.graph/filter-by kmono.version/package-changed?
36+
{:include-dependents true})))
37+
1838
mode (cond
1939
A "A"
2040
M "M"
@@ -61,6 +81,11 @@
6181

6282
:options {:package-aliases opts/package-aliases-opt
6383

84+
:skip-unchanged opts/skip-unchanged-opt
85+
:changed opts/changed-opt
86+
:changed-since opts/changed-since-opt
87+
:filter opts/package-filter-opt
88+
6489
:A {:desc "Aliases"
6590
:parse-fn opts/parse-bool-or-aliases}
6691
:M {:desc "Main aliases"

0 commit comments

Comments
 (0)