From 1777f3c4d1894f52ddb2639b4c6f09144bad2c0b Mon Sep 17 00:00:00 2001 From: Alex Miller Date: Wed, 1 May 2024 12:30:24 -0500 Subject: [PATCH] aliases - ignore aliases with non-map data --- CHANGELOG.md | 3 +++ deps.edn | 2 +- src/main/clojure/clojure/tools/deps/cli/api.clj | 2 +- src/test/clojure/clojure/tools/deps/cli/test_api.clj | 12 ++++++++++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7845989..bd65018 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ Changelog =========== +* next + * aliases - ignore aliases with non-map data + * Update to latest tools.deps * 0.10.61 on Apr 24, 2024 * Update to latest tools.deps and Clojure 1.11.3 * 0.10.55 on Mar 8, 2024 diff --git a/deps.edn b/deps.edn index 1a426cb..f232257 100644 --- a/deps.edn +++ b/deps.edn @@ -1,7 +1,7 @@ {:paths ["src/main/clojure" "src/main/resources"] :deps { org.clojure/clojure {:mvn/version "1.11.3"} - org.clojure/tools.deps {:mvn/version "0.19.1421"} + org.clojure/tools.deps {:mvn/version "0.19.1428"} } :aliases { ;; clj -M:lint diff --git a/src/main/clojure/clojure/tools/deps/cli/api.clj b/src/main/clojure/clojure/tools/deps/cli/api.clj index ac318ec..35ff81b 100644 --- a/src/main/clojure/clojure/tools/deps/cli/api.clj +++ b/src/main/clojure/clojure/tools/deps/cli/api.clj @@ -167,7 +167,7 @@ (reduce-kv (fn [a alias alias-defn] (cond-> a - (pos? (count (set/intersection cli-alias-keys (set (keys alias-defn))))) + (pos? (count (set/intersection cli-alias-keys (when (map? alias-defn) (set (keys alias-defn)))))) (assoc alias alias-defn))) {} aliases))) {} src-aliases) diff --git a/src/test/clojure/clojure/tools/deps/cli/test_api.clj b/src/test/clojure/clojure/tools/deps/cli/test_api.clj index 54e145a..6045417 100644 --- a/src/test/clojure/clojure/tools/deps/cli/test_api.clj +++ b/src/test/clojure/clojure/tools/deps/cli/test_api.clj @@ -21,6 +21,18 @@ (binding [*test-dir* dir#] ~@body))) +(deftest test-aliases-with-non-map-data + (with-test-dir + (let [p1deps (jio/file *test-dir* "p1/deps.edn")] + (jio/make-parents p1deps) + (spit p1deps + (pr-str {:aliases {:foo ["some" "data"]}})) + + (dir/with-dir (jio/file *test-dir* "p1") + (let [output (with-out-str (api/aliases {:user nil}))] + (is (str/includes? output ":deps")) + (is (not (str/includes? output ":foo")))))))) + (deftest test-prep-with-aliases (with-test-dir (let [p1deps (jio/file *test-dir* "p1/deps.edn")