Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Checker ¶
type Checker struct {
// contains filtered or unexported fields
}
Checker is a very limited filesystem hierarchy checker.
This forms a tree, where each node is a directory. Nodes in the tree may have a mapping from owner claiming this directory to a series of notes (descriptions of /why/ this owner claims this directory).
Paths may only ever have one owner; After adding all paths to the Checker, call Conflicts to populate a validation.Context with any conflicts discovered.
Practically, this is used to ensure that Cache directories do not overlap with CIPD package directives; CIPD packages may not be installed as subdirs of caches, and caches may not be installed as subdirs of CIPD package directories. Similarly, multiple caches cannot be mapped to the same directory.
func (*Checker) Conflicts ¶
func (c *Checker) Conflicts() errors.MultiError
Conflicts populates `merr` with all violations found in this Checker.
This will walk the Checker depth-first, pruning branches at the first conflict.