Merge pull request #1810 from MichaelBlume/no-dupes

avoid duplicate entries in manifest
This commit is contained in:
Jean Niklas L'orange 2015-01-29 18:51:18 +01:00
commit be24caad67

View file

@ -21,9 +21,9 @@
(.replace path "\\" "/"))
(def ^:private default-manifest
[["Created-By" (str "Leiningen " (main/leiningen-version))]
["Built-By" (System/getProperty "user.name")]
["Build-Jdk" (System/getProperty "java.version")]])
{"Created-By" (str "Leiningen " (main/leiningen-version))
"Built-By" (System/getProperty "user.name")
"Build-Jdk" (System/getProperty "java.version")})
(declare ^:private manifest-entry)
@ -51,14 +51,15 @@
(seq mf)))
(defn ^:internal make-manifest [project]
(let [initial-mf
(concat (if (get (:manifest project) "Main-Class")
default-manifest
(conj default-manifest
["Main-Class"
(munge (str (:main project 'clojure.main)))]))
(manifest-map-to-reordered-seq (:manifest project)))]
(->> initial-mf
(let [project-manifest (into {} (:manifest project))]
(->> project-manifest
(merge
(if (get project-manifest "Main-Class")
default-manifest
(assoc default-manifest
"Main-Class"
(munge (str (:main project 'clojure.main))))))
manifest-map-to-reordered-seq
(manifest-entries project)
(cons "Manifest-Version: 1.0\n") ;; Manifest-Version line must be first
(string/join "")