|
4 | 4 | [clostache.parser :refer [render]] |
5 | 5 | [leiningen.uberjar :refer [uberjar]] |
6 | 6 | [me.raynes.fs :as fs] |
7 | | - [clojure.string :as str])) |
| 7 | + [clojure.string :as str] |
| 8 | + [clj-zip-meta.core :refer [repair-zip-with-preamble-bytes]])) |
8 | 9 |
|
9 | 10 |
|
10 | 11 |
|
|
32 | 33 |
|
33 | 34 |
|
34 | 35 | (defn preamble-template |
35 | | - [{:keys [bootclasspath custom-preamble] :as options}] |
| 36 | + [{:keys [bootclasspath custom-preamble custom-preamble-script]}] |
36 | 37 | (cond |
| 38 | + custom-preamble-script (slurp custom-preamble-script) |
37 | 39 | custom-preamble (str custom-preamble "\r\n") |
38 | | - bootclasspath BOOTCLASSPATH-TEMPLATE |
39 | | - :else NORMAL-TEMPLATE)) |
| 40 | + bootclasspath BOOTCLASSPATH-TEMPLATE |
| 41 | + :else NORMAL-TEMPLATE)) |
40 | 42 |
|
41 | 43 |
|
42 | 44 | (defn render-preamble |
|
59 | 61 |
|
60 | 62 |
|
61 | 63 | (defn options [project] |
62 | | - {:project-name (:name project) |
63 | | - :version (:version project) |
64 | | - |
65 | | - :main (:main project) |
66 | | - :bootclasspath (get-in project [:bin :bootclasspath] false) |
67 | | - :jvm-opts (jvm-opts project) |
68 | | - :win-jvm-opts (sanitize-jvm-opts-for-win (jvm-opts project)) |
69 | | - :custom-preamble (get-in project [:bin :custom-preamble]) |
| 64 | + {:project-name (:name project) |
| 65 | + :version (:version project) |
| 66 | + |
| 67 | + :main (:main project) |
| 68 | + :bootclasspath (get-in project [:bin :bootclasspath] false) |
| 69 | + :jvm-opts (jvm-opts project) |
| 70 | + :win-jvm-opts (sanitize-jvm-opts-for-win (jvm-opts project)) |
| 71 | + :custom-preamble (get-in project [:bin :custom-preamble]) |
| 72 | + :custom-preamble-script (get-in project [:bin :custom-preamble-script]) |
70 | 73 | }) |
71 | 74 |
|
72 | 75 |
|
|
119 | 122 | (str (:name project) "-" (:version project)))) |
120 | 123 | uberjar (uberjar project)] |
121 | 124 | (writing-bin binfile uberjar (preamble opts)) |
| 125 | + (println "Re-aligning zip offsets") |
| 126 | + (repair-zip-with-preamble-bytes binfile) |
122 | 127 | (copy-bin project binfile)))) |
0 commit comments