The tools.build adapter: gathers the Project and Facts a plan is computed from, and supplies the handler that executes each step kind.
This is the only namespace that knows tools.build and deps-deploy exist.
The tools.build adapter: gathers the Project and Facts a plan is computed from, and supplies the handler that executes each step kind. This is the only namespace that knows tools.build and deps-deploy exist.
(aot-basis overlay src-dirs)Compile-time basis rooted at src-dirs — the staged sources — rather than
the project's own :paths. Injects ONLY the overlay's :provided alias, so the
overlay's top-level :deps never reach the release compile classpath.
Compile-time basis rooted at `src-dirs` — the staged sources — rather than the project's own :paths. Injects ONLY the overlay's :provided alias, so the overlay's top-level :deps never reach the release compile classpath.
(attempt-deploy! deploy!
request
{:keys [state-fn attempts backoff-ms sleep!]
:or {attempts 3
backoff-ms 1000
sleep! (fn* [p1__7094#] (Thread/sleep p1__7094#))}})Call DEPLOY! on REQUEST, retrying a failure only while the registry still holds nothing for this coordinate.
state-fn answers what the registry holds. Once any document has landed a
retry cannot help: the registry is immutable, so it answers 409, and
retrying is what turns an interrupted upload into a permanently
half-published version. The last failure is rethrown rather than swallowed.
Call DEPLOY! on REQUEST, retrying a failure only while the registry still holds nothing for this coordinate. `state-fn` answers what the registry holds. Once any document has landed a retry cannot help: the registry is immutable, so it answers 409, and retrying is what turns an interrupted upload into a permanently half-published version. The last failure is rethrown rather than swallowed.
(audit-opacity! {:keys [src-dirs jar-file allowed-source strict?
strict-source?]})What the built jar discloses: strings its sources declared private, and readable sources it ships. Throws under either strictness flag, otherwise reports. Returns the audit.
:strict-source? fails only on shipped source — the default for a private
target. :strict? fails on every finding, docstrings included. The source
check runs first: it is the more categorical failure and its message names
the remedy, and report already covers those entries when neither flag is
set, so nothing is printed twice.
Public because api/audit-opacity runs it against an artifact that already
exists, outside any plan.
What the built jar discloses: strings its sources declared private, and readable sources it ships. Throws under either strictness flag, otherwise reports. Returns the audit. `:strict-source?` fails only on shipped source — the default for a private target. `:strict?` fails on every finding, docstrings included. The source check runs first: it is the more categorical failure and its message names the remedy, and `report` already covers those entries when neither flag is set, so nothing is printed twice. Public because `api/audit-opacity` runs it against an artifact that already exists, outside any plan.
(bb-classpath)Resolve bb.edn deps so Babashka macro exporters also reach clj-kondo. nil when there is no bb.edn or bb is not installed.
Resolve bb.edn deps so Babashka macro exporters also reach clj-kondo. nil when there is no bb.edn or bb is not installed.
(context project)(context project overlay)(context project overlay deploy-fn)The execution context for project: the overlay an AOT compile needs (nil
for tasks that do not compile), and the deploy function, which is injected
so a release can be exercised without a registry.
The execution context for `project`: the overlay an AOT compile needs (nil for tasks that do not compile), and the deploy function, which is injected so a release can be exercised without a registry.
(deps-classpath aliases)The classpath of this project under aliases.
The classpath of this project under `aliases`.
Step kind -> (fn [ctx step] -> result). The tools.build implementation of every step a plan can contain.
Step kind -> (fn [ctx step] -> result). The tools.build implementation of every step a plan can contain.
(overlay)Parsed ./local.deps.edn, or nil when absent. Supplies a :provided alias of host sources that must be on the AOT compile classpath but must not enter the pom, and an :aot/preload namespace vector compiled first.
Parsed ./local.deps.edn, or nil when absent. Supplies a :provided alias of host sources that must be on the AOT compile classpath but must not enter the pom, and an :aot/preload namespace vector compiled first.
(pom-basis project)Project basis for the pom, minus :pom-exclude-deps. Equals the plain basis when the key is absent.
Project basis for the pom, minus :pom-exclude-deps. Equals the plain basis when the key is absent.
(probe-process command-args)Run command-args, capturing both streams. For availability checks, and for
commands whose stdout IS the answer.
Run `command-args`, capturing both streams. For availability checks, and for commands whose stdout IS the answer.
(read-facts project {:keys [probe-registry? overlay]})Everything from the filesystem and the registry that project's plan
depends on.
probe-registry? is false for tasks that never publish, so a local build
never touches the network. overlay is the parsed ./local.deps.edn, or nil
for a task that does not compile.
Everything from the filesystem and the registry that `project`'s plan depends on. `probe-registry?` is false for tasks that never publish, so a local build never touches the network. `overlay` is the parsed ./local.deps.edn, or nil for a task that does not compile.
(read-license-facts project)What the licence rules are evaluated against: what version.edn declares, whether ./LICENSE exists, and the SPDX identifiers the sources carry.
What the licence rules are evaluated against: what version.edn declares, whether ./LICENSE exists, and the SPDX identifiers the sources carry.
(read-project)The Project for the repository in the current working directory.
Read at task time, never at require time: as a library, hive-build is loaded long before anyone chooses which repository to build.
The Project for the repository in the current working directory. Read at task time, never at require time: as a library, hive-build is loaded long before anyone chooses which repository to build.
(registry-state project target)What target's registry holds for this exact coordinate: :absent,
:complete, :partial or :unknown.
Any failure to reach the registry is :unknown, never :complete: an
unreachable registry must not be read as already published, because that
would silently skip a release. Both the pom and the jar are probed, because
a coordinate missing either one resolves and cannot be used.
What `target`'s registry holds for this exact coordinate: :absent, :complete, :partial or :unknown. Any failure to reach the registry is :unknown, never :complete: an unreachable registry must not be read as `already published`, because that would silently skip a release. Both the pom and the jar are probed, because a coordinate missing either one resolves and cannot be used.
(resolve-version cfg)The version this repository releases: ./VERSION when present, otherwise 0.{:minor}.{commit count}.
The version this repository releases: ./VERSION when present, otherwise
0.{:minor}.{commit count}.(run-process command-args)Run command-args with its output going to the console.
A linter whose findings were captured and discarded is a linter that always passes, so anything whose output is meant for a human is run this way.
Run `command-args` with its output going to the console. A linter whose findings were captured and discarded is a linter that always passes, so anything whose output is meant for a human is run this way.
(unpackaged-roots-in dir project)The deps.edn :paths roots under dir that hold files but that project's
:src-dirs will not put in the jar, minus its :unpackaged-paths waivers.
Returned as the paths deps.edn spells them.
The deps.edn :paths roots under `dir` that hold files but that `project`'s :src-dirs will not put in the jar, minus its :unpackaged-paths waivers. Returned as the paths deps.edn spells them.
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 |