API for clojure.java.basis
-
Full namespace name:
clojure.java.basis
Overview
The lib basis includes which libraries and versions were loaded both
for direct dependencies and transitive dependencies, as well as the
classpath and possibly other information from the resolution process.
This basis will be known if the runtime was started by the Clojure CLI.
The Clojure CLI or tools.deps merge a set of deps maps (often from
deps.edn files). Additional runtime modifications are supplied via argmap
keys, provided via alias maps in the merged deps. Deps maps typically have
:paths, :deps, and :aliases keys.
The basis is a superset of merged deps.edn files with the following
additional keys:
:basis-config - params used to configure basis deps sources, can be
string path, deps map, nil, or :default
:root - default = loaded as a resource from tools.deps)
:user - default = ~/.clojure/deps.edn)
:project - default = ./deps.edn)
:extra - default = nil
:aliases - coll of keyword aliases to include during dep calculation
:argmap - effective argmap (after resolving and merging argmaps from aliases)
:libs - map of lib to coord for all included libraries
:classpath - classpath map, keys are paths (to directory or .jar), values
are maps with source identifier (either :lib-name or :path-key)
:classpath-roots - vector of paths in classpath order (keys of :classpath)
Public Variables and Functions
current-basis
function
Usage: (current-basis)
Return the current basis, which may have been modified since runtime launch.
Added in Clojure version 1.12
Source
initial-basis
function
Usage: (initial-basis)
Initial runtime basis at launch, nil if unknown (process not started by CLI)
Added in Clojure version 1.12
Source
clojure.java.basis.impl
Public Variables and Functions
update-basis!
function
Usage: (update-basis! f & args)
Update the runtime basis by applying f with args
Source