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
(merge
(if (get project-manifest "Main-Class")
default-manifest default-manifest
(conj default-manifest (assoc default-manifest
["Main-Class" "Main-Class"
(munge (str (:main project 'clojure.main)))])) (munge (str (:main project 'clojure.main))))))
(manifest-map-to-reordered-seq (:manifest project)))] manifest-map-to-reordered-seq
(->> initial-mf
(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 "")