Decompose with-profile
args not containing +/-.
This commit is contained in:
parent
8bd6b8fb53
commit
ecb7ed0e77
3 changed files with 19 additions and 3 deletions
|
@ -294,7 +294,8 @@
|
|||
[raw-profile]
|
||||
(if (composite-profile? raw-profile)
|
||||
;; TODO: drop support for partially-composite profiles in 3.0
|
||||
(mapv #(cond-> % (map? %) setup-profile-with-empty) raw-profile)
|
||||
(mapv #(cond-> % (composite-profile? %) setup-profile-with-empty)
|
||||
raw-profile)
|
||||
(let [empty-defaults (select-keys empty-meta-merge-defaults
|
||||
(keys raw-profile))]
|
||||
(setup-map-defaults raw-profile empty-defaults))))
|
||||
|
|
|
@ -33,7 +33,9 @@
|
|||
profiles))
|
||||
|
||||
(not-any? #{\+ \-} prefixes)
|
||||
(map keyword profiles)
|
||||
(distinct
|
||||
(mapcat (comp #(project/expand-profile project %) keyword)
|
||||
profiles))
|
||||
|
||||
:else
|
||||
(throw
|
||||
|
|
|
@ -15,7 +15,20 @@
|
|||
[(prj-map {:default [:base :dev]}) "-default,+foo" [:foo]]
|
||||
[(prj-map {:default [:base :dev], :foo [:bar :baz]})
|
||||
"-default,+foo" [:bar :baz]]
|
||||
[(prj-map {:default [:base :dev], :dev [:foo]
|
||||
:foo [:bar :baz], :baz [:zap]})
|
||||
"-default,+foo" [:bar :zap]]
|
||||
;; TODO: drop support for partially-composite profiles in 3.0
|
||||
[(prj-map {:default [:base :dev], :foo [:bar {:gross true}]})
|
||||
"-default,+foo" [:foo]]]]
|
||||
(is (= expected (profiles-in-group project pgroup)))))
|
||||
(is (= expected (profiles-in-group project pgroup))))
|
||||
(testing "no +/- prefixes in arg"
|
||||
(let [project (prj-map {:default [:base :dev] :foo [:bar :baz]
|
||||
:bar [:one :two] :baz [:three :four]})]
|
||||
(doseq [[pgroup expected]
|
||||
[["foo" [:one :two :three :four]]
|
||||
["bar" [:one :two]]
|
||||
["baz" [:three :four]]
|
||||
["bar,baz" [:one :two :three :four]]
|
||||
["baz,bar" [:three :four :one :two]]]]
|
||||
(is (= expected (profiles-in-group project pgroup)))))))
|
||||
|
|
Loading…
Reference in a new issue