-
-
Notifications
You must be signed in to change notification settings - Fork 23
/
uberjar.clj
27 lines (25 loc) · 876 Bytes
/
uberjar.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
(ns uberdeps.uberjar
(:require
[clojure.edn :as edn]
[uberdeps.api :as api]
[clojure.string :as str]
[clojure.java.io :as io]))
(defn -main [& {:as args}]
(let [deps-file (or (get args "--deps-file") "deps.edn")
target (or (get args "--target")
(as-> (io/file ".") %
(.getCanonicalFile %)
(.getName %)
(str "target/" % ".jar")))
aliases (-> (or (get args "--aliases") "")
(str/split #":")
(->> (remove str/blank?)
(map keyword)
(into #{})))
level (keyword (or (get args "--level") "debug"))]
(binding [api/level level]
(api/package
(edn/read-string (slurp deps-file))
target
{:aliases aliases}))
(shutdown-agents)))