diff --git a/src/leiningen/deps.clj b/src/leiningen/deps.clj index dd7e786b6..fde363369 100644 --- a/src/leiningen/deps.clj +++ b/src/leiningen/deps.clj @@ -1,6 +1,6 @@ (ns leiningen.deps (:require [lancet]) - (:use [leiningen.pom :only [make-repository make-dependency default-repos]] + (:use [leiningen.pom :only [default-repos]] [clojure.contrib.java-utils :only [file]]) (:import [org.apache.maven.model Dependency] [org.apache.maven.artifact.ant DependenciesTask RemoteRepository] @@ -8,6 +8,17 @@ ;; TODO: unify with pom.clj +(defn make-dependency [[dep version]] + (doto (Dependency.) + (.setGroupId (or (namespace dep) (name dep))) + (.setArtifactId (name dep)) + (.setVersion version))) + +(defn make-repository [[id url]] + (doto (RemoteRepository.) + (.setId id) + (.setUrl url))) + (defn deps "Install dependencies in lib/" [project & [skip-dev]] diff --git a/src/leiningen/pom.clj b/src/leiningen/pom.clj index de8e9e44a..3f42acf69 100644 --- a/src/leiningen/pom.clj +++ b/src/leiningen/pom.clj @@ -17,7 +17,7 @@ (.setId id) (.setUrl url))) -(def default-repos {"central" "http://repo1.maven.org/maven/" +(def default-repos {"central" "http://repo1.maven.org/maven2" "clojure-snapshots" "http://build.clojure.org/snapshots"}) (defn make-model [project] @@ -35,11 +35,13 @@ (defn make-pom [project] (doto (Pom.) - (.setId "leiningen-pom") (.setProject lancet/ant-project) (.setMavenProject (MavenProject. (make-model project))))) (defn pom [project & [args]] ;; TODO: prompt if pom.xml exists - (.writeModel (MavenProject. (make-model project)) - (writer (file (:root project) "pom.xml")))) + (let [pom-file (file (:root project) "pom.xml")] + (.writeModel (MavenProject. (make-model project)) + (writer pom-file)) + (println "Wrote pom.xml") + (.getAbsolutePath pom-file)))