-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.boot
64 lines (57 loc) · 2.09 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
(def project {:name "zoondka-maps" :version "0.2.0"})
(set-env!
:source-paths #{"src/clj" "src/cljs"}
:resource-paths #{"rsc"}
:dependencies '[[adzerk/boot-cljs "1.7.228-1"]
[adzerk/boot-reload "0.4.5"]
[org.clojure/clojure "1.7.0"]
[org.clojure/clojurescript "1.7.228"]
[org.clojure/core.async "0.2.374"]
[cljsjs/react "0.14.3-0"]
[cljsjs/react-dom "0.14.3-1"]
[cljsjs/react-dom-server "0.14.3-0"]
[org.omcljs/om "1.0.0-alpha30" :exclusions [cljsjs/react]]
[sablono "0.5.3"]
[ring "1.4.0"]
[compojure "1.4.0"]
[http-kit "2.1.19"]])
(require
'[boot.pod :as pod]
'[adzerk.boot-cljs :refer :all]
'[adzerk.boot-reload :refer :all]
'[zoondka-maps.server :as server]
'[ring.middleware.reload :as reload]
'[ring.middleware.file :as file]
'[ring.middleware.file-info :as file-info])
(deftask dev-cljs
"Build cljs for development."
[]
(comp (watch)
(speak)
(reload :on-jsload (symbol "zoondka-maps.app/go!"))
(cljs :source-map true
:optimizations :none)
(target)))
(defn dev-handler []
(-> server/handler (reload/wrap-reload)
(file/wrap-file "target")
(file-info/wrap-file-info)))
(deftask dev-httpkit
"Start internal httpkit server for development."
[]
(with-post-wrap fileset (server/run (dev-handler))))
(deftask dev
"Build cljs and start server for development."
[]
(comp (dev-cljs) (dev-httpkit)))
(deftask prod
"Build application uberjar with http-kit main."
[]
(comp (cljs)
(aot :namespace '#{zoondka-maps.server zoondka-maps.handler})
(pom :project (symbol (:name project))
:version (:version project))
(uber :exclude (conj pod/standard-jar-exclusions #"(?i).*\.html" #"(?i)clout/.*"))
(jar :file (str (:name project) ".jar")
:main 'zoondka-maps.server)
(target)))