Incubadora de desarrollo para guiones Babashka. Aquí es donde desarrollo guiones en Clojure y luego los ejecuto con Babashka.
Hice una presentación sobre escribir guiones en Babashka. Las diapositivas están aquí.
$PATH
.env
, pero enmascara las variables que cree que son privadas (como SLACK_TOKEN
). Si solo desea usar uno de los scripts, simplemente descargue el directorio de Uberscripts y póngalo en un directorio en su $PATH
.
BBIN es una excelente manera de instalar scripts babashka con un comando.
Todavía no es compatible con la selección de qué script desea cuando un repositorio (como este) admite múltiples, así que use la siguiente sintaxis (proporcionar --main-opts
y --as
):
bbin install io.github.justone/bb-scripts --main-opts '["-m" "empath"]' --as empath
Consulte los documentos de BBIN para obtener más opciones.
Antes de comenzar el desarrollo, debe tener lo siguiente instalado en su ruta:
bb
clojure
Para crear un script, debe crear dos archivos. Por ejemplo, para crear un nuevo script llamado foo
, cree los siguientes archivos:
script/foo
- un corredor de desarrollo babashka
#!/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
- la fuente de clojure para el script
(ns foo)
(defn -main [& args]
(println "foo"))
Comience una replica con clojure -X:clj:repl
. Esto expondrá los puertos NREPL y PREPL para la integración del editor. Esto permite un desarrollo impulsado por replica iterativa completa.
Para probar la ejecución del script en su conjunto, use cualquiera de los siguientes:
./script/foo [args]
- para probar la ejecución en babashkaclojure -M:clj -m foo [args]
-para probar corriendo en clojure Para ejecutar pruebas con babashka:
bb test
Para ejecutar pruebas con Clojure:
clojure -M:clj:test
Babashka puede combinar todos los espacios de nombres utilizados por un script en un archivo llamado Uberscript. Hay un script en ./scripts/uberscriptify
que combinará esto con el encabezado adecuado. Para crear un UBerscript desde el script foo
, simplemente ejecute:
./scripts/uberscriptify --script foo
Y el archivo resultante estará en uberscripts/foo
.