-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.boot
70 lines (63 loc) · 2.13 KB
/
build.boot
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
(set-env!
:resource-paths #{"resources"}
:source-paths #{"src" "cljs"}
:dependencies '[[org.clojure/clojure "1.9.0-alpha14"]
[com.cemerick/piggieback "0.2.1"]
[org.clojure/tools.nrepl "0.2.12"]
[weasel "0.7.0" :exclusions [org.clojure/clojurescript]]
[green-tags "0.3.0-alpha"]
[hiccup "1.0.5"]
[boot-deps "0.1.6"]
[aleph "0.4.2-alpha10"]
[ring "1.6.0-beta6" :exclusions [org.clojure/java.classpath]]
[org.clojure/data.json "0.2.6"]
[org.clojure/clojurescript "1.9.293"]
[org.clojure/core.async "0.2.395"]
[org.omcljs/om "1.0.0-alpha47"]
[sablono "0.7.6"]
[org.clojure/test.check "0.9.0"]
[juxt/dirwatch "0.2.3"]])
(require '[sledge.boot-build :refer :all])
(require '[weasel.repl.websocket])
(require '[cemerick.piggieback])
(def package-version
(let [v (clojure.string/trim-newline (slurp "VERSION"))
p (System/getenv "PATCH_LEVEL")]
(if p
(str v "." p)
(str v ".0-SNAPSHOT" p))))
(task-options!
pom {:project 'sledge
:version package-version}
jar {:main 'sledge.core}
cljs {:main 'sledge.core
:optimizations :whitespace
:options {}
:output-file "assets/js/main.js"}
target {:dir #{"target/"}})
(deftask pig
"Piggieback nrepl middleware"
[]
(swap! @(resolve 'boot.repl/*default-middleware*)
concat '[cemerick.piggieback/wrap-cljs-repl])
identity)
(deftask reload-browser []
(with-pre-wrap [fileset]
(boot.util/info "reloading browser ...")
(clojure.java.shell/sh "xdotool"
"search" "--onlyvisible" "Sledge - Nightly"
"key" "F5")
(boot.util/info "\n")
fileset))
(defn wait-for-browser-repl []
(cemerick.piggieback/cljs-repl
(weasel.repl.websocket/repl-env :ip "0.0.0.0" :port 9001)))
(deftask build []
(comp
(aot :namespace #{'sledge.core})
(pom)
(cljs :optimizations :advanced)
(uber)
(jar)
(sift :include #{#"project.jar$"})
(target)))