bb scripts
1.0.0
Babashka脚本的开发孵化器。这是我在Clojure开发脚本的地方,然后与Babashka一起运行它们。
我在巴巴什卡(Babashka)撰写了有关编写剧本的演讲。幻灯片在这里。
$PATH
类似于事物。env
一样打印出环境,但它掩盖了它认为是私人的变量(如SLACK_TOKEN
)。如果您只想使用其中一个脚本,只需从Uberscripts目录中下载它,然后将其放入$PATH
上的目录。
BBIN是使用一个命令安装Babashka脚本的好方法。
当回购(像这样)支持多个脚本时,它尚未支持选择您想要的脚本,因此请使用以下语法(提供--main-opts
和--as
):
bbin install io.github.justone/bb-scripts --main-opts '["-m" "empath"]' --as empath
有关更多选项,请参阅BBIN文档。
在开始开发之前,您应该在路径上安装以下内容:
bb
clojure
要创建一个脚本,您需要创建两个文件。例如,要创建一个名为foo
的新脚本,请创建以下文件:
script/foo
巴巴什卡开发人员
#!/usr/bin/env bb
(require '[babashka.deps :as deps])
(deps/add-deps '{:deps {justone/bb-scripts {:local/root "."}}})
(require '[foo])
(when (= *file* (System/getProperty "babashka.file"))
(apply foo/-main *command-line-args*))
src/foo.clj
脚本的clojure源
(ns foo)
(defn -main [& args]
(println "foo"))
使用clojure -X:clj:repl
。这将使NREPL和Prepl端口用于编辑器集成。这允许完全迭代的重型驱动开发。
要测试整个脚本,请使用以下任何一个:
./script/foo [args]
- 在巴巴什卡(Babashka)测试运行clojure -M:clj -m foo [args]
- 在Clojure中测试运行与Babashka进行测试:
bb test
用Clojure进行测试:
clojure -M:clj:test
Babashka可以将脚本使用的所有名称空间组合到一个名为Uberscript的文件中。 ./scripts/uberscriptify
中有一个脚本,将其与适当的标头结合在一起。要从foo
脚本创建Uberscript,只需运行:
./scripts/uberscriptify --script foo
并且结果文件将在uberscripts/foo
中。