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.
(classify-roots src-dirs files-by-dir)src-dirs split into roots holding sources and roots holding only
resources. files-by-dir maps each dir to the paths beneath it.
Contract: the two results partition src-dirs — every root is classified,
none is classified twice.
`src-dirs` split into roots holding sources and roots holding only resources. `files-by-dir` maps each dir to the paths beneath it. Contract: the two results partition `src-dirs` — every root is classified, none is classified twice.
Metadata keys stripped from every AOT class file unless version.edn overrides :aot/elide-meta. Docstrings, arglists and source coordinates ship as string constants in bytecode.
:column is deliberately absent. Eliding it alongside these keys makes the compiler fail on some dependency graphs, and a column number on its own discloses nothing that :file and :line do not.
Metadata keys stripped from every AOT class file unless version.edn overrides :aot/elide-meta. Docstrings, arglists and source coordinates ship as string constants in bytecode. :column is deliberately absent. Eliding it alongside these keys makes the compiler fail on some dependency graphs, and a column number on its own discloses nothing that :file and :line do not.
(project cfg version)A Project from raw version.edn cfg and the resolved version string.
Throws when :lib is not a qualified symbol: nothing downstream can name an artifact without it, and a build that guesses is worse than one that stops.
A Project from raw version.edn `cfg` and the resolved `version` string. Throws when :lib is not a qualified symbol: nothing downstream can name an artifact without it, and a build that guesses is worse than one that stops.
(source-file? path)True when path names a compilable source that is not a clj-kondo export.
True when `path` names a compilable source that is not a clj-kondo export.
(source-root? paths)True when paths — the files beneath one directory — contains a source.
True when `paths` — the files beneath one directory — contains a source.
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 |