Babashka 스크립트의 개발 인큐베이터. 이곳에서 Clojure에서 스크립트를 개발 한 다음 Babashka로 실행합니다.
나는 Babashka에서 스크립트 작성에 관한 프레젠테이션을했습니다. 슬라이드가 여기 있습니다.
$PATH
와 같은 것들을 편집하십시오.env
와 마찬가지로 환경을 인쇄하지만 SLACK_TOKEN
과 같은 개인이라고 생각하는 변수를 마스킹합니다. 스크립트 중 하나만 사용하려면 Uberscripts 디렉토리에서 다운로드하여 $PATH
의 디렉토리에 넣으십시오.
BBIN은 하나의 명령으로 Babashka 스크립트를 설치하는 좋은 방법입니다.
Repo (이와 같이)가 여러 가지를 지원할 때 원하는 스크립트 선택을 아직 지원하지 않으므로 다음 구문을 사용하십시오 (제공 --main-opts
및 --as
).
bbin install io.github.justone/bb-scripts --main-opts '["-m" "empath"]' --as empath
더 많은 옵션은 BBIN 문서를 참조하십시오.
개발을 시작하기 전에 경로에 다음을 설치해야합니다.
bb
clojure
로서 스크립트를 만들려면 두 파일을 만들어야합니다. 예를 들어 foo
라는 새 스크립트를 만들려면 다음 파일을 만듭니다.
script/foo
-Babashka Dev Runner
#!/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
에 있습니다.