Common Lisp Package: EVOL-TEST

README:

FUNCTION

Public

Undocumented

ALL

Private

DEFLATE-STRING (LIST &OPTIONAL (SEPARATOR ))

deflate-string list &optional separator => string|object Splice list of strings into merged string having elements separated with string seperator.

DEPENDENCY-NODE (NAMEFN DEPENDENCYFN OBJECT)

dependency-node namefn dependencyfn object => node Transform OBJECT into a node (list) by appending the results of calling NAMEFN and DEPENDENCYFN against it.

DEPENDENCY-NODES-HASHTABLE (PREDICATE NAMEFN DEPENDENCYFN ENV)

dependency-nodes-hashtable predicate namefn dependencyfn env => node-list Filter out all values satisfying PREDICATE from hashtable ENV and return result list of transforming each one into a node list by calling NAMEFN and DEPENDENCYFN.

EXPAND-%-MATCH (MATCH TARGET SOURCEFN ENVIRONMENT)

expand-%-match match target sourcefn environment => string Act depending on string match: - % returns % - @ returns target - < returns result of invoking sourcefn against target and modifier - Any other sequence will be looked up in evol's environment returning the result, defaulting to an empty string - In case of @ and <, if target respectively sourcefn invocation returns a list, it will be auto-deflated to a string with spaces as element seperator. To modify the deflation seperator, simply pass any non-whitespace character sequence after @ or <, e.g. [@,] for target := (foo bar baz) => "foo,bar,baz"

FIND-NODE (NAME NODES)

find-node name nodes => node Find and return node designated by NAME in NODES.

FLATTEN (TREE)

Traverses the tree in order, collecting non-null leaves into a list.

INTERNIFY (NAME)

internify name => symbol Return interned symbol for arbitrarily typed name; useful for use as hash keys.

INTERPOLATE-COMMANDLINE (CMD &KEY (TARGET ) (SOURCEFN #'DEFAULT-SOURCEFN) (ENVIRONMENT *ENVIRONMENT*))

interpolate-commandline cmd &key target sourcefn environment => list Interpolate split arguments of command line string CMD after grouping through Bourne shell syntax block quoting, see split-commandline for details. Unquoted quotes are stripped after interpolation, single quotes prevent interpolation of their contained argument while double quotes don't. Returns list of split and interpolated arguments.

LEAF-NODES (NODES)

leaf-nodes nodes => node-list Return all leaf nodes in NODES. Leaf nodes are simply the ones with no dependencies at all.

POSIX-GETENV (NAME)

posix-getenv name => string Return value for POSIX environmental key name, empty string if nothing found.

RESOLVE-ALL (NODES RESFN &OPTIONAL (ROOTS NODES))

resolve-all nodes resfn &optional (roots nodes) => list of dags or queues Resolve list of distinct ROOTS (or, by default, everything) in node-list NODES using resfn.

RESOLVE-DAG (ROOT NODES)

resolve root nodes => dag Try to resolve dependencies for ROOT node in NODES and return its dependency dag (directed acyclic graph). Dags are suitable for parallel building.

RESOLVE-QUEUE (ROOT NODES)

resolve-queue root nodes => queue Try to resolve dependencies for ROOT node in NODES and return its dependency queue. Queues are suitable for sequential building only.

RESOLVE-ROOTS (NODES RESFN)

resolve-roots nodes resfn => list of dags or queues Resolve node-list NODES using resfn for all its root-nodes.

ROOT-NODES (NODES)

root-nodes nodes => node-list Return all root nodes in NODES. Root nodes are identified by not being referenced as a dependency by any other node. This is done by building the difference (complement of intersection) between the ones having dependencies and the complete set.

TRIM-{} (STRING)

trim-{} string => string Trims {} brackets strings.

Undocumented

DEFLATING

DEP-ENVIRONMENT-FIXTURE-1 (&OPTIONAL (PHASE61 SETUP))

DEP-ENVIRONMENT-FIXTURE-2 (&OPTIONAL (PHASE101 SETUP))

DEP-ENVIRONMENT-FIXTURE-CIRCULAR-1 (&OPTIONAL (PHASE785 SETUP))

DEP-ENVIRONMENT-FIXTURE-UNRESOLVABLE-1 (&OPTIONAL (PHASE751 SETUP))

DEPENDENCY

ENV-ENVIRONMENT-FIXTURE (&OPTIONAL (PHASE79 SETUP))

ENVIRONMENT

ENVIRONMENT-EXISTS

EXPANDING-%-MATCHES

FLATTEN-LISTS

FLATTENING (EXPECTED LIST)

GET-STRING

GETENV-DEFAULT-NONEXIST

INTERNIFICATION

MAKE-PREDICATE-CAR (PREDICATE)

PATH

PATHNAME-CHANGE

PATHNAME-SUFFIX-NIL

PATHNAME-SUFFIX-T

PUT-STRING

RESOLUTION-CIRCULAR (NODES)

RESOLUTION-CIRCULAR-1

RESOLUTION-DAG-1

RESOLUTION-DAG-2

RESOLUTION-QUEUE-2

RESOLUTION-UNRESOLVABLE (NODES)

RESOLUTION-UNRESOLVABLE-1

SET-EQUAL (L1 L2 &KEY (TEST #'EQUAL))

SHELL

SHELL-ENVIRONMENT-FIXTURE (&OPTIONAL (PHASE198 SETUP))

TEST-COMPLEX-COMMANDLINES

TEST-DEPENDENCY-NODE

TEST-DEPENDENCY-NODES

TEST-FIND-NODE

TEST-LEAF-NODES

TEST-ROOT-NODES

TRIMMING-{}

GENERIC-FUNCTION

Private

Undocumented

CIRCULAR-INTER-NODES (CONDITION)

CIRCULAR-NODE (CONDITION)

UNRESOLVABLE-DEPENDENCY (CONDITION)

UNRESOLVABLE-NODE (CONDITION)

VARIABLE

Private

Undocumented

ENV

CONDITION

Private

Undocumented

CIRCULAR-DEPENDENCY

UNRESOLVABLE-DEPENDENCY (CONDITION)