forked from copilot-community-sdk/copilot-sdk-clojure
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbb.edn
More file actions
48 lines (35 loc) · 1.92 KB
/
bb.edn
File metadata and controls
48 lines (35 loc) · 1.92 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
45
46
47
48
{:paths ["src"]
:deps {org.clojure/clojure {:mvn/version "1.12.4"}}
:tasks
{:require [[clojure.string :as str]]
test {:doc "Run the test suite."
:task (clojure "-M:test" "-m" "cognitect.test-runner")}
test:bb {:doc "Run the test suite using Babashka to check compatibility."
:extra-paths ["test"]
:extra-deps {io.github.cognitect-labs/test-runner {:git/tag "v0.5.1" :git/sha "dfb30dd"}}
:task (exec 'cognitect.test-runner.api/test)}
test:all {:doc "Run the test suite with both Clojure and Babashka."
:depends [test test:bb]}
fmt {:doc "Format all Clojure files."
:task (clojure "-M:fmt" "fix" "src" "test" "examples")}
fmt:check {:doc "Check formatting without modifying files."
:task (clojure "-M:fmt" "check" "src" "test" "examples")}
docs {:doc "Generate API documentation with codox."
:task (clojure "-X:codox")}
jar {:doc "Build the JAR and POM."
:task (clojure "-T:build" "jar")}
readme:sha {:doc "Update README git dependency SHA to HEAD."
:task (clojure "-T:build" "update-readme-sha")}
ci {:doc "Run CI pipeline: unit/integration tests, doc validation, jar build."
:task (shell "bash" "-lc"
"bb test && bb validate-docs && bb jar")}
ci:full {:doc "Run full CI pipeline including E2E tests and examples (requires copilot CLI)."
:task (shell "bash" "-lc"
"COPILOT_E2E_TESTS=true bb test && ./run-all-examples.sh && bb validate-docs && bb jar")}
ci:deploy {:doc "Run the CI pipeline and deploy to Maven Central."
:depends [ci]
:task (clojure "-T:build" "deploy-central")}
install {:doc "Install the JAR locally (build via ci)."
:task (clojure "-T:build" "install")}
validate-docs {:doc "Validate documentation: links, code blocks, and structure."
:task (shell "bb" "script/validate_docs.clj")}}}