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