libraries/sdk: the source folder for the main SDKlibraries/sdk-ring: source folders for the ring adapter specific codelibraries/sdk-http-kit: source folders for the http-kit adapter specific codelibraries/sdk-malli-schemas: self explanatory...libraries/sdk-brotli: brotli write profilessrc/bb: tasks used run a repl, tests...src/bb-example: bb examplessrc/dev: dev utils, examplessrc/test: centralized tests for all the librariestest-resources: self explanatorybb bump-version patch/minor/major: to bump a version component across all libsbb set-version x.x.x: to set the version component across all libsbb jar:all: Build jars artifacts for all of the libsbb clean: Clean all build artifactsbb install:all: Build jars artifacts for all of the libs and installs them locallybb install:clean will delete  ~/.m2/repository/dev/data-star/clojurebb jar:<lib-name>: Build jars artifacts for one of the libsbb publish:all: Publish the artifacts to clojars.orgbb run devbb run dev: start a repl with the dev nss, the test nss the malli schemas,
ring-jetty and Http-kit on the classpathbb run dev:rj9a: same as basic dev task expect for ring-jetty being replaced
with rj9a.bb run dev:bb: start a bb repl with the core SDK, http-kit adapter and
malli-schemas in the classpath.[!note] You can add additional deps aliases when calling these tasks:
bb run dev :debugwill add a Flowstorm setup
bb run testbb run test:all: run all test for the SDK, the Http-kit adapter and the
ring adapter using ring-jetty.bb run test:rj9a: run all test for the SDK and the ring adapter using rj9a.bb run test:bb: run unit tests for the SDK in Babashka.bb run test:sdk-common: start the server used to run the
SDKs' common tests.bb run test:sdk-common-go: run the common SDK test (go program)In order to test how cljdoc will ingest our libraries there are babashka to run a local instance.
To do so you need to have either docker or podman installed, the babashka tasks we provide will work with either one.
Next you need to run:
docker pull cljdoc/cljdoc
Once that is done you can use the following bb tasks:
bb run cljdoc:server to start a cljdoc local instance on port 8000bb run install:all to install locally the jars to ingestbb run cljdoc:ingest <SDK-lib-name> to tell cljdoc to ingest a sdk library.
The possible values for <SDK-lib-name> are:
:sdk :http-kit :ring :malli-schemas :brotlibb run cljdoc:clean will delete ./.cljdoc-preview, the directory
where the local cljdoc server stores its data.dev.data-star.clojure namespace.CLOJARS_USERNAME
Value: the clojars account usernameCLOJARS_PASSWORD
Value: the clojars deploy tokenThe Github Actions CI workflow for clojure will always run the tests and produce jar artifacts.
Triggering a deployment to clojars is a manual process. A Datastar core
contributor must trigger the Release Clojure SDK workflow with the publish
input boolean set to true.
Release process:
bb set-version or bb bump-version to update the library versions in locksteppublish to truebb run test:sdk-commonbb run test:sdk-common-goYou can modify the webdriver config when testing by creating a
test-resources/test.config.edn file. It contains a map whose keys
are:
:drivers: etaoin webdriver types
to run:webdriver-opts: a map of webdriver type to webriver specific optionsFor instance on my machine:
{:drivers [:firefox :chrome]
 :webdriver-opts {:chrome {:path-driver "/snap/bin/chromium.chromedriver"}}}
Can you improve this documentation? These fine people already did:
Jeremy Schoffen, Jérémy, JeremS, Ben Croker & Casey LinkEdit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs | 
| ← | Move to previous article | 
| → | Move to next article | 
| Ctrl+/ | Jump to the search field |