-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbb.edn
More file actions
44 lines (33 loc) · 1.85 KB
/
bb.edn
File metadata and controls
44 lines (33 loc) · 1.85 KB
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
{:tasks
{compile:java {:doc "Compile Java sources (requires Java 21+)"
:task (shell "clj -T:build compile-java")}
dev {:doc "Start nREPL server"
:depends [compile:java]
:task (shell "clj -M:dev -m nrepl.cmdline --interactive")}
test {:doc "Run all tests (CLJ + CLJS)"
:depends [test:clj test:cljs]}
test:clj {:doc "Run Clojure tests"
:depends [compile:java]
:task (shell "clj -M:test -m kaocha.runner")}
test:cljs {:doc "Run ClojureScript tests"
:task (do
(shell "bunx shadow-cljs compile ci")
(shell "bunx karma start --single-run"))}
build {:doc "Build library JAR"
:task (shell "clj -T:build jar")}
install {:doc "Install JAR to local Maven repo"
:task (shell "clj -T:build install")}
tag {:doc "Create and push version tag"
:task (shell "clj -T:build tag")}
deploy {:doc "Tag, push, and deploy to Clojars"
:task (do (shell "clj -T:build tag") (shell "clj -T:build deploy"))}
cljdoc {:doc "Test cljdoc analysis locally"
:depends [build]
:task (let [v (clojure.string/trim (:out (shell {:out :string} "clj -T:build version-str")))]
(shell "clj -M:cljdoc"
(format "{:project \"co.multiply/pathling\" :version \"%s\" :jarpath \"target/pathling-%s.jar\" :pompath \"target/classes/META-INF/maven/co.multiply/pathling/pom.xml\"}"
v v)))}
format:check {:doc "Check code formatting"
:task (shell "cljstyle check src")}
format:fix {:doc "Fix code formatting"
:task (shell "cljstyle fix src")}}}