-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.clj
39 lines (36 loc) · 1.18 KB
/
build.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
28
29
30
31
32
33
34
35
36
37
38
39
(ns build
(:require
[clojure.java.io :as io]
[clojure.tools.build.api :as b]
[clojure.tools.build.tasks.copy :refer [default-ignores]]))
(defn compile-java
[& _]
(let [basis (b/create-basis {:project "deps.edn"})
source (str (io/file "src" "main" "java"))
classes (str (io/file "target" "classes"))]
(b/delete {:path classes})
(b/javac {:src-dirs [source]
:class-dir classes
:basis basis})))
(def clj-ignores
(conj default-ignores #".*\.clj$"))
(defn jar
[& _]
(let [basis (b/create-basis {:project "deps.edn"})
src-dirs ["src"]
classes (str (io/file "classes" "jar"))
jar (str (io/file "jars" "zdl.nlp.jar"))
main 'zdl.cli]
(b/delete {:path jar})
(b/delete {:path classes})
(b/copy-dir {:src-dirs src-dirs
:target-dir classes
:ignores clj-ignores})
(b/compile-clj {:basis basis
:ns-compile [main]
:class-dir classes
:src-dirs src-dirs})
(b/uber {:class-dir classes
:basis basis
:uber-file jar
:main main})))