Skip to content
This repository has been archived by the owner on Jun 12, 2024. It is now read-only.

Commit

Permalink
fix build break and add some test
Browse files Browse the repository at this point in the history
  • Loading branch information
minhtuannguyen committed Jun 29, 2016
1 parent f5eb0b0 commit 7bda93e
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 14 deletions.
8 changes: 4 additions & 4 deletions project.clj
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
[com.github.jnr/jnr-posix "3.0.29"]
[digest "1.4.4"]
[ancient-clj "0.3.14"]
[org.clojure/tools.cli "0.3.5"]]
[org.clojure/tools.cli "0.3.5"]
[com.fasterxml.jackson.core/jackson-core "2.2.3"]
[com.fasterxml.jackson.core/jackson-databind "2.2.3"]]

:profiles {:uberjar {:aot :all}
:test {:resource-paths ["test-resources"]
:dependencies [[com.fasterxml.jackson.core/jackson-core "2.2.3"]
[com.fasterxml.jackson.core/jackson-databind "2.2.3"]]}
:test {:resource-paths ["test-resources"]}
:dev {:dependencies [[pjstadig/humane-test-output "0.8.0"]]
:plugins [[lein-cljfmt "0.5.3"]
[lein-cloverage "1.0.6"]]}})
21 changes: 12 additions & 9 deletions src/leiningen/leinsync/deps.clj
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
[ancient-clj.core :as ancient]
[leiningen.core.main :as m]))

(def different-marker "==> ")

(defn last-version-of [artifact]
(if-let [last-version (ancient/latest-version-string! artifact)]
last-version :unknown))
Expand Down Expand Up @@ -31,25 +33,26 @@
deps))

(defn has-newer-version? [m last-version]
(-> m
(vals)
(conj last-version)
(distinct)
(count)
(> 1)))
(->> m
(vals)
(concat [last-version])
(distinct)
(filter #(not= :unknown %))
(count)
(< 1)))

(defn mark-for-possible-update [get-version]
(defn mark-for-possible-update [get-version marker]
(fn [[k v]]
(let [last-version (get-version k)
deps-info {:name k :last-version last-version}]
(if (has-newer-version? v last-version)
(merge deps-info (zipmap (keys v) (map #(str "==> " %) (vals v))))
(merge deps-info (zipmap (keys v) (map #(str marker %) (vals v))))
(merge deps-info v)))))

(defn pretty-print-structure [enrich-version deps]
(->> deps
(seq)
(map (mark-for-possible-update enrich-version))))
(map (mark-for-possible-update enrich-version different-marker))))

(defn log-resouces-table [m]
(m/info "\n* List of dependencies")
Expand Down
19 changes: 18 additions & 1 deletion test/leiningen/leinsync/deps_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,21 @@
:dep-4 {:deps-project-3 :v-4}
:dep-5 {:deps-project-1 :v-6, :deps-project-3 :v-2}}
(d/pretty-print-structure (fn [x] (get m x)))
(sort-by :name))))))
(sort-by :name))))))

(deftest ^:unit has-newer-version?
(let [last-version :v-3
m {:deps-project-1 :v-1, :deps-project-2 :v-1, :deps-project-3 :v-1}]
(is (true? (d/has-newer-version? m last-version))))

(let [last-version :v-1
m {:deps-project-1 :v-1, :deps-project-2 :v-1, :deps-project-3 :v-1}]
(is (false? (d/has-newer-version? m last-version))))

(let [last-version :unknown
m {:deps-project-1 :v-2, :deps-project-2 :v-1, :deps-project-3 :v-1}]
(is (true? (d/has-newer-version? m last-version))))

(let [last-version :unknown
m {:deps-project-1 :v-1, :deps-project-2 :v-1, :deps-project-3 :v-1}]
(is (false? (d/has-newer-version? m last-version)))))

0 comments on commit 7bda93e

Please sign in to comment.