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/clojure
bb jar:<lib-name>
: Build jars artifacts for one of the libsbb publish:all
: Publish the artifacts to clojars.orgbb run dev
bb 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 :debug
will add a Flowstorm setup
bb run test
bb 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
: 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 8000
bb 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 :brotli
bb 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 true
bb run test:sdk-common
bb run test:sdk-common-go
You 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:
Jérémy, Jeremy Schoffen, 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 |