Licence agreement between ./LICENSE, version.edn :license and the SPDX headers in the source tree, as an open rule chain. Pure.
A rule returns nil when satisfied, else a message. Unlike an access decision, every rule runs: a licence report that stopped at the first problem would hide the rest, and a published pom can never be retracted.
Licence agreement between ./LICENSE, version.edn :license and the SPDX headers in the source tree, as an open rule chain. Pure. A rule returns nil when satisfied, else a message. Unlike an access decision, every rule runs: a licence report that stopped at the first problem would hide the rest, and a published pom can never be retracted.
clj-kondo invocations as values. Pure.
Constructing the argument vector is where a lint task silently stops failing, so it is stated here and asserted rather than inlined at the process call.
clj-kondo invocations as values. Pure. Constructing the argument vector is where a lint task silently stops failing, so it is stated here and asserted rather than inlined at the process call.
Names derived from a coordinate: the Maven symbol, artifact paths, the registry URL a publish check probes, and the namespace/path correspondence AOT compilation depends on. Pure.
Names derived from a coordinate: the Maven symbol, artifact paths, the registry URL a publish check probes, and the namespace/path correspondence AOT compilation depends on. Pure.
The parts of a pom hive-build decides rather than delegates: the declared licence, the dependency set, the source roots and the SCM tag. Pure.
The parts of a pom hive-build decides rather than delegates: the declared licence, the dependency set, the source roots and the SCM tag. Pure.
The Project value object: raw version.edn data plus a resolved version, with every default applied. Pure.
Nothing downstream reads version.edn again, so a default lives here exactly once.
The Project value object: raw version.edn data plus a resolved version, with every default applied. Pure. Nothing downstream reads version.edn again, so a default lives here exactly once.
Publish destinations as data, behind a registry. Pure.
The registry is the dependency-inversion point: plan and the boundary
depend on the Target schema, never on a particular registry. A new
destination is a register! and no edit anywhere else.
Publish destinations as data, behind a registry. Pure. The registry is the dependency-inversion point: `plan` and the boundary depend on the Target schema, never on a particular registry. A new destination is a `register!` and no edit anywhere else.
What must be rewritten INSIDE a jar for two builds of identical inputs to be byte-identical. Pure.
Fixing ZIP entry timestamps is not enough: build tooling also writes wall clock time and host details into entry content, where a timestamp rewrite cannot reach them. Each such source is a rule, so a newly discovered one is an addition rather than an edit.
What must be rewritten INSIDE a jar for two builds of identical inputs to be byte-identical. Pure. Fixing ZIP entry timestamps is not enough: build tooling also writes wall clock time and host details into entry content, where a timestamp rewrite cannot reach them. Each such source is a rule, so a newly discovered one is an addition rather than an edit.
Semantic versions as values: parse, render, order, bump. Pure.
Semantic versions as values: parse, render, order, bump. Pure.
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 |