Reduce output for dependency resolution
Showing every failed repo lookup is bad for users. They see the failure and get confused. Hook up a custom listener that has the following behavior: 1. success -> print out artifact name, size, and repository name 2. failure -> ignore unless it is the last repo, then print out failure message with artifact name. Fixes #610.
This commit is contained in:
parent
d371e4d914
commit
d254dae544
4 changed files with 28 additions and 8 deletions
|
@ -118,7 +118,27 @@
|
|||
(map (partial update-policies update checksum)))
|
||||
:coordinates (get project dependencies-key)
|
||||
:mirrors mirrors
|
||||
:transfer-listener :stdout
|
||||
:transfer-listener
|
||||
(bound-fn [e]
|
||||
(let [{:keys [type resource error]} e]
|
||||
(let [{:keys [repository name size]} resource]
|
||||
(case type
|
||||
:started
|
||||
(println "Retrieving"
|
||||
name
|
||||
(if (neg? size)
|
||||
""
|
||||
(format "(%sk)"
|
||||
(Math/round (double (max 1 (/ size 1024))))))
|
||||
"from"
|
||||
(or (first (first (filter #(= repository (:url (second %)))
|
||||
repositories)))
|
||||
repository))
|
||||
:failed
|
||||
(if (and (= repository (:url (second (last repositories))))
|
||||
error)
|
||||
(println "Failed to find" name))
|
||||
nil))))
|
||||
:proxy (get-proxy-settings))
|
||||
(catch DependencyResolutionException e
|
||||
(binding [*out* *err*]
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
:compile-path "target/classes"
|
||||
:target-path "target"
|
||||
:prep-tasks ["javac" "compile"]
|
||||
:repositories [["central" {:url "http://repo1.maven.org/maven2"}]
|
||||
:repositories [["central" {:url "http://repo1.maven.org/maven2/"}]
|
||||
;; TODO: point to releases-only before 2.0 is out
|
||||
["clojars" {:url "https://clojars.org/repo/"}]]
|
||||
:deploy-repositories [["clojars" {:url "https://clojars.org/repo/"
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
[stencil "0.2.0"]],
|
||||
:twelve 12 ; testing unquote
|
||||
|
||||
:repositories [["central" {:url "http://repo1.maven.org/maven2"}]
|
||||
:repositories [["central" {:url "http://repo1.maven.org/maven2/"}]
|
||||
["clojars" {:url "https://clojars.org/repo/"}]]})
|
||||
|
||||
(deftest test-read-project
|
||||
|
@ -160,7 +160,7 @@
|
|||
(deftest test-merge-anon-profiles
|
||||
(let [expected-result {:A 1 :C 3 :profiles {:a {:A 1}
|
||||
:b {:B 2}}
|
||||
:repositories [["central" {:url "http://repo1.maven.org/maven2"}]
|
||||
:repositories [["central" {:url "http://repo1.maven.org/maven2/"}]
|
||||
["clojars" {:url "https://clojars.org/repo/"}]]
|
||||
:dependencies [], :compile-path "classes"}]
|
||||
(is (= expected-result
|
||||
|
@ -169,7 +169,7 @@
|
|||
|
||||
(deftest test-composite-profiles
|
||||
(let [expected-result {:A '(2 3 1), :B 2, :C 3,
|
||||
:repositories [["central" {:url "http://repo1.maven.org/maven2"}]
|
||||
:repositories [["central" {:url "http://repo1.maven.org/maven2/"}]
|
||||
["clojars" {:url "https://clojars.org/repo/"}]]
|
||||
:dependencies [], :compile-path "classes"}]
|
||||
(is (= expected-result
|
||||
|
@ -182,7 +182,7 @@
|
|||
|
||||
(deftest test-override-default
|
||||
(let [expected-result {:A 1, :B 2, :C 3
|
||||
:repositories [["central" {:url "http://repo1.maven.org/maven2"}]
|
||||
:repositories [["central" {:url "http://repo1.maven.org/maven2/"}]
|
||||
["clojars" {:url "https://clojars.org/repo/"}]]
|
||||
:dependencies [], :compile-path "classes"}]
|
||||
(is (= expected-result
|
||||
|
@ -197,7 +197,7 @@
|
|||
(let [expected-result {:A 1 :C 3 :profiles {:a {:A 1}
|
||||
:b {:B 2}
|
||||
:c {:C 3}}
|
||||
:repositories [["central" {:url "http://repo1.maven.org/maven2"}]
|
||||
:repositories [["central" {:url "http://repo1.maven.org/maven2/"}]
|
||||
["clojars" {:url "https://clojars.org/repo/"}]]
|
||||
:dependencies [], :compile-path "classes"}]
|
||||
(is (= expected-result
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
(map #(first-in % [:repository :id])
|
||||
(deep-content xml [:project :repositories])))
|
||||
"repositories are named")
|
||||
(is (= ["http://repo1.maven.org/maven2" "https://clojars.org/repo/"
|
||||
(is (= ["http://repo1.maven.org/maven2/" "https://clojars.org/repo/"
|
||||
"http://example.com/repo"]
|
||||
(map #(first-in % [:repository :url])
|
||||
(deep-content xml [:project :repositories])))
|
||||
|
|
Loading…
Reference in a new issue