Un-mapify :repositories before handing off to pomegranate.

This commit is contained in:
Phil Hagelberg 2011-12-03 12:41:11 -08:00
parent 4069839b03
commit 6540de69a4
2 changed files with 12 additions and 5 deletions

View file

@ -25,12 +25,19 @@
:resources-path])]
(str (io/file (:root project) "checkouts" (.getName dep) (d proj)))))))
;; Ideally pomegranate would accept map forms for repositories so you
;; could do things like toggling snapshots and such, but for now we
;; normalize back to url-as-string.
(defn- repositories-map [repositories]
(into {} (for [[id repo] repositories]
[id (:url repo)])))
(defn resolve-dependencies
"Simply delegate regular dependencies to pomegranate. This will
ensure they are downloaded into ~/.m2/repositories."
[{:keys [repositories dependencies]}]
{:pre [(every? vector? dependencies)]}
(aether/resolve-dependencies :repositories (into {} repositories)
(aether/resolve-dependencies :repositories (repositories-map repositories)
:coordinates dependencies))
(defn resolve-dev-dependencies
@ -40,7 +47,7 @@
the shell script is started."
[{:keys [repositories dev-dependencies root]}]
{:pre [(every? vector? dev-dependencies)]}
(let [files (aether/resolve-dependencies :repositories (into {} repositories)
(let [files (aether/resolve-dependencies :repositories (repositories-map repositories)
:coordinates dev-dependencies)]
(when (seq dev-dependencies)
(.mkdirs (io/file root "lib/dev")))

View file

@ -7,7 +7,8 @@
[leiningen.compile]
[leiningen.test.helper :only [sample-project sample-failing-project
tricky-name-project dev-deps-project]]
[leiningen.util.file :only [delete-file-recursively]]))
[leiningen.util.file :only [delete-file-recursively]])
(:require [leiningen.core.eval :as eval]))
(use-fixtures :each (fn [f]
(delete-file-recursively
@ -33,8 +34,7 @@
(deftest test-cleared-transitive-aot
(is (zero? (compile (assoc sample-project
:clean-non-project-classes true))))
(is (zero? (eval-in-project sample-project
'(require 'nom.nom.nom)))
(is (zero? (eval/eval-in-project sample-project '(require 'nom.nom.nom)))
"can't load after compiling")
(let [classes (seq (.list (file "test_projects" "sample"
"classes" "nom" "nom")))]