Skip to content

Commit

Permalink
Add --exclude option #7
Browse files Browse the repository at this point in the history
  • Loading branch information
liquidz committed Jun 4, 2020
1 parent 0317e17 commit ba0a24e
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
1 change: 1 addition & 0 deletions deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
:paths ["src"]
:deps
{org.clojure/clojure {:mvn/version "1.10.1"}
org.clojure/tools.cli {:mvn/version "1.0.194"}
ancient-clj {:mvn/version "0.6.15"}
cheshire {:mvn/version "5.10.0"}
clj-commons/clj-yaml {:mvn/version "0.7.1"}
Expand Down
22 changes: 14 additions & 8 deletions src/antq/core.clj
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@
[antq.ver :as ver]
[antq.ver.github-action]
[antq.ver.java]
[clojure.pprint :as pprint]))
[clojure.pprint :as pprint]
[clojure.tools.cli :as cli]))

(def cli-options
[[nil "--exclude=EXCLUDE" :default [] :assoc-fn #(update %1 %2 conj %3)]])

(def default-skip-artifacts
#{"org.clojure/clojure"})
Expand All @@ -20,8 +24,9 @@
"clojars" "https://repo.clojars.org/"})

(defn skip-artifacts?
[dep]
(contains? default-skip-artifacts (:name dep)))
[dep options]
(let [skip-artifacts (apply conj default-skip-artifacts (:exclude options []))]
(contains? skip-artifacts (:name dep))))

(defn using-release-version?
[dep]
Expand All @@ -44,9 +49,9 @@
(dissoc dep :_versions))

(defn outdated-deps
[deps]
[deps options]
(->> deps
(remove #(or (skip-artifacts? %)
(remove #(or (skip-artifacts? % options)
(using-release-version? %)))
(pmap assoc-versions)
(map (comp dissoc-no-longer-used-keys
Expand Down Expand Up @@ -96,11 +101,12 @@
(dep.lein/load-deps)))

(defn -main
[]
(let [deps (fetch-deps)]
[& args]
(let [{:keys [options]} (cli/parse-opts args cli-options)
deps (fetch-deps)]
(if (seq deps)
(-> deps
outdated-deps
(outdated-deps options)
print-deps
exit)
(do (println "No project file")
Expand Down

0 comments on commit ba0a24e

Please sign in to comment.