Skip to content

Commit

Permalink
Update --exclude option to support version specified exclusion #75
Browse files Browse the repository at this point in the history
  • Loading branch information
liquidz committed May 9, 2021
1 parent f0efd07 commit 106fe1d
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 9 deletions.
17 changes: 14 additions & 3 deletions src/antq/core.clj
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,15 @@
:else
(contains? exclude-artifacts (:name dep)))))

(defn remove-skipping-versions
[versions dep-name options]
(let [skip-vers (->> (:exclude options)
(map #(str/split % #"@" 2))
(filter #(= dep-name (first %)))
(keep second)
(set))]
(remove skip-vers versions)))

(defn using-release-version?
[dep]
(contains? #{"RELEASE" "master" "main" "latest"} (:version dep)))
Expand All @@ -117,10 +126,11 @@
(log/info))))

(defn- assoc-latest-version
[dep]
[dep options]
(let [vers (cond->> (:_versions dep)
(not (ver/under-devleopment? (:version dep)))
(drop-while ver/under-devleopment?))
vers (remove-skipping-versions vers (:name dep) options)
latest-version (first vers)]
(assoc dep :latest-version latest-version)))

Expand Down Expand Up @@ -153,11 +163,12 @@
deps)
uniq-deps-with-vers (->> org-deps
distinct-deps
(pmap assoc-versions))]
(pmap assoc-versions))
assoc-latest-version* #(assoc-latest-version % options)]
(->> org-deps
(pmap #(complete-versions-by % uniq-deps-with-vers))
(map (comp dissoc-no-longer-used-keys
assoc-latest-version))
assoc-latest-version*))
(remove ver/latest?))))

(defn assoc-diff-url
Expand Down
18 changes: 12 additions & 6 deletions test/antq/core_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -123,12 +123,18 @@
(r/map->Dependency (merge {:type :test} m)))

(t/deftest outdated-deps-test
(t/is (= [(test-dep {:name "alice" :version "1.0.0" :latest-version "3.0.0"})
(test-dep {:name "bob" :version "2.0.0" :latest-version "3.0.0"})]
(sut/outdated-deps [(test-dep {:name "alice" :version "1.0.0"})
(test-dep {:name "bob" :version "2.0.0"})
(test-dep {:name "charlie" :version "3.0.0"})]
{}))))
(let [deps [(test-dep {:name "alice" :version "1.0.0"})
(test-dep {:name "bob" :version "2.0.0"})
(test-dep {:name "charlie" :version "3.0.0"})]]

(t/is (= [(test-dep {:name "alice" :version "1.0.0" :latest-version "3.0.0"})
(test-dep {:name "bob" :version "2.0.0" :latest-version "3.0.0"})]
(sut/outdated-deps deps {})))

(t/testing "alice@3.0.0 should be excluded"
(t/is (= [(test-dep {:name "alice" :version "1.0.0" :latest-version "2.0.0"})
(test-dep {:name "bob" :version "2.0.0" :latest-version "3.0.0"})]
(sut/outdated-deps deps {:exclude ["alice@3.0.0"]}))))))

(t/deftest assoc-diff-url-test
(let [dummy-dep {:type :java :name "foo/bar" :version "1" :latest-version "2"}]
Expand Down

0 comments on commit 106fe1d

Please sign in to comment.