DependencyResolver

Resolves dependency graph with multiple configurations per package.

The term "configuration" can mean any kind of alternative dependency configuration of a package. In particular, it can mean different versions of a package.

CONFIG is an abstract type denoting a single configuration of a certain package, whereas CONFIGS denotes a set of configurations. The representation of both can be freely chosen, so that CONFIGS for example can be defined in terms of a version range.

Members

Classes

DependencyLoadException
class DependencyLoadException
Undocumented in source.
ResolveException
class ResolveException
Undocumented in source.

Functions

getAllConfigs
CONFIG[] getAllConfigs(string pack)
Undocumented in source.
getChildren
TreeNodes[] getChildren(TreeNode node)
Undocumented in source.
getSpecificConfigs
CONFIG[] getSpecificConfigs(string pack, TreeNodes nodes)
Undocumented in source.
matches
bool matches(CONFIGS configs, CONFIG config)
Undocumented in source.
resolve
CONFIG[string] resolve(TreeNode root, bool throw_on_failure)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

TreeNode
struct TreeNode

A single node in the dependency graph.

TreeNodes
struct TreeNodes

Encapsulates a list of outgoing edges in the dependency graph.

Meta