-
Notifications
You must be signed in to change notification settings - Fork 55
/
bb.edn
48 lines (47 loc) · 4 KB
/
bb.edn
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
{:min-bb-version "0.9.162"
:paths ["script" "build"]
:deps {org.clojure/data.zip {:mvn/version "1.1.0"}
io.aviso/pretty {:mvn/version "1.4.4"}
dev.nubank/docopt {:mvn/version "0.6.1-fix7"}
doric/doric {:mvn/version "0.9.0"}
version-clj/version-clj {:mvn/version "2.0.3"}
lread/status-line {:git/url "https://github.com/lread/status-line.git"
:sha "cf44c15f30ea3867227fa61ceb823e5e942c707f"}
etaoin/etaoin {:mvn/version "1.1.42"}
io.github.babashka/neil {:git/tag "v0.3.67" :git/sha "054ca51"}}
:tasks {;; setup
:requires ([clojure.string :as string]
[lread.status-line :as status])
:enter (let [{:keys [name]} (current-task)] (status/line :head "TASK %s %s" name (string/join " " *command-line-args*)))
:leave (let [{:keys [name]} (current-task)] (status/line :detail "\nTASK %s done." name))
;; commands
download-deps {:task download-deps/-main :doc "bring down Clojure deps"}
apply-import-vars {:task apply-import-vars/-main :doc "(check|gen-code) - export APIs statically from templates"}
dev-jvm {:task dev-repl/dev-jvm :doc "launch jvm nREPL for development, --help for usage"}
dev-cljs {:task dev-repl/dev-cljs :doc "launch cljs nREPL for development, --help for usage"}
lint {:task lint/-main :doc "[--rebuild] lint source code using clj-kondo, eastwood"}
-lint-kondo {:task lint-kondo/-main :doc "[--rebuild]"}
-lint-eastwood {:task lint-eastwood/-main}
test-clj {:task test-clj/-main :doc "[--clojure-version (1.8|1.9|1.10|1.11|1.12)]"}
test-cljs {:task test-cljs/-main :doc "use --help for args"}
test-shadow-cljs {:task test-shadow-cljs/-main}
test-native {:task test-native/-main :doc "run rewrite-clj and tests after both compiled with GraalVM native-image"}
test-native-sci {:task test-native-sci/-main :doc "interpret rewrite-clj tests via sci from rewrite-clj native image"}
test-jvm-sci {:task test-jvm-sci/-main :doc "JVM only sanity test for test-native-sci"}
test-clj-watch {:task test-clj-watch/-main :doc "[kaocha args]"}
test-cljs-watch {:task test-cljs-watch/-main :doc "watch cljs test with fighweel main"}
test-coverage {:task test-coverage/-main :doc "generate code coverage reports for Clojure tests"}
test-doc {:task test-doc/-main :doc "test doc code blocks"}
test-libs {:task test-libs/-main :doc "(list|run|outdated) - verify that libs using rewrite-clj* work with current rewrite-clj"}
outdated {:task outdated/-main :doc "report on outdated Clojure and npm dependencies"}
doc-update-readme {:task doc-update-readme/-main :doc "honour our contributors in README"}
cljdoc-preview {:task cljdoc-preview/-main :doc "preview what docs will look like on cljdoc, use --help for args"}
ci-unit-tests {:task ci-unit-tests/-main :doc "run/list continuous integration unit tests, use --help for args"}
pubcheck {:task publish/pubcheck :doc "Run only publish checks (without publishing)"}
publish {:task publish/-main :doc "Publish a release (for maintainers)"}
;; let's not rely on a random version of neil
neil {:task babashka.neil/-main :doc "Pinned version of babashka/neil (used in scripting)"}
;; hidden tasks, no need for folks to be trying these ci invoked tasks
-ci-clojars-deploy {:task ci-publish/clojars-deploy :doc "triggered on ci by release tag" }
-ci-github-create-release {:task ci-publish/github-create-release :doc "triggered on ci by release tag" }
-ci-cljdoc-request-build {:task ci-publish/cljdoc-request-build :doc "ask cljdoc to build docs for new release" }}}