Merge pull request #888 from hyPiRion/skip-pom-git-revision-if-empty-git-repo

Skip git revision in pom if empty git repo. Fixes #887.
This commit is contained in:
Phil Hagelberg 2012-12-17 13:52:37 -08:00
commit d736a52588

View file

@ -29,12 +29,16 @@
git-dir-file)))
(defn- read-git-ref
"Reads the commit SHA1 for a git ref path."
"Reads the commit SHA1 for a git ref path, or nil if no commit exist."
[git-dir ref-path]
(.trim (slurp (str (io/file git-dir ref-path)))))
(let [ref (io/file git-dir ref-path)]
(if (.exists ref)
(.trim (slurp ref))
nil)))
(defn- read-git-head
"Reads the value of HEAD and returns a commit SHA1."
"Reads the value of HEAD and returns a commit SHA1, or nil if no commit
exist."
[git-dir]
(let [head (.trim (slurp (str (io/file git-dir "HEAD"))))]
(if-let [ref-path (second (re-find #"ref: (\S+)" head))]
@ -78,7 +82,8 @@
[:connection (str "scm:git:" (:public-clone urls))])
(and (:dev-clone urls)
[:developerConnection (str "scm:git:" (:dev-clone urls))])
[:tag head]
(and head
[:tag head])
[:url (:browse urls)]])
(catch java.io.FileNotFoundException _)))
@ -340,7 +345,8 @@
(.setProperty "artifactId" (:name project)))
git-head (resolve-git-dir project)]
(when (.exists git-head)
(.setProperty properties "revision" (read-git-head git-head)))
(if-let [revision (read-git-head git-head)]
(.setProperty properties "revision" revision)))
(.store properties baos "Leiningen"))
(str baos)))