bb.edn 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. {:deps {org.babashka/http-server {:mvn/version "0.1.14"}
  2. org.babashka/cli {:mvn/version "0.8.67"}}
  3. :tasks
  4. {:requires ([babashka.cli :as cli])
  5. :init (do
  6. (def cli-opts (cli/parse-opts *command-line-args* {:alias {:p :port :n :namespace :i :include :v :var}
  7. :coerce {:port :int :headers :edn}}))
  8. (defn clojure-with-port
  9. [cmd]
  10. (if-let [port (:port cli-opts)]
  11. (str "-J-Dport=" port " " cmd)
  12. cmd)))
  13. serve {:doc "Serve static assets"
  14. :requires ([babashka.http-server :as server])
  15. :task (server/exec (merge {:port 3002
  16. :dir "../static/"}
  17. cli-opts))}
  18. prn {:task (clojure "-X clojure.core/prn" cli-opts)}
  19. test {:doc "run tests (ns'es ending in '-basic-test'); use -n <ns> to run a single namespace, -v <ns/fn> to run a single test fn, -i <tag> to filter by metadata"
  20. :task (do (let [ns (:namespace cli-opts)
  21. include (:include cli-opts)
  22. var (:var cli-opts)
  23. ns-arg (when ns (str " -n " ns))
  24. inc-arg (when include (str " -i " include))
  25. var-arg (when var (str " -v " var))
  26. base (if ns
  27. (str "-M:test" ns-arg " -e fix-me")
  28. "-M:test -r \".*\\-basic\\-test$\" -e fix-me")]
  29. (clojure (clojure-with-port (str base inc-arg var-arg))))
  30. (System/exit 0))}
  31. rtc-extra-test {:doc "run rtc-extra-test"
  32. :task (do (clojure (clojure-with-port "-M:test -n logseq.e2e.rtc-extra-test"))
  33. (System/exit 0))}
  34. rtc-extra-part2-test {:doc "run rtc-extra-part2-test"
  35. :task (do (clojure (clojure-with-port "-M:test -n logseq.e2e.rtc-extra-part2-test"))
  36. (System/exit 0))}
  37. -run-rtc-extra-test {:depends [serve prn rtc-extra-test]}
  38. run-rtc-extra-test {:task (run '-run-rtc-extra-test {:parallel true})}
  39. -run-rtc-extra-part2-test {:depends [serve prn rtc-extra-part2-test]}
  40. run-rtc-extra-part2-test {:task (run '-run-rtc-extra-part2-test {:parallel true})}
  41. -dev {:depends [serve prn test]}
  42. dev {:doc "serve and test"
  43. :task (run '-dev {:parallel true})}}}