button.build

Members

Aliases

BuildStateGraph
alias BuildStateGraph = Graph!(Index!Resource, Index!Task, EdgeType, EdgeType)
Undocumented in source.

Classes

BuildException
class BuildException

An exception relating to the build.

Functions

build
void build(BuildStateGraph graph, BuildContext context)

Traverses the graph, executing the tasks.

buildDescriptionPath
string buildDescriptionPath(string path)

Returns the path to the build description.

buildGraph
BuildStateGraph buildGraph(BuildState state, EdgeType type)

Constructs a graph from the build state. Only connected resources are added to the graph.

buildGraph
BuildStateGraph buildGraph(BuildState state, Resources resources, Tasks tasks)

Constructs a subgraph from the build state starting at the given roots.

checkCycles
void checkCycles(Graph!(Resource, Task) graph)

Checks for cycles.

checkRaces
void checkRaces(Graph!(Resource, Task) graph)

Checks for race conditions.

explicitGraph
Graph!(Resource, Task) explicitGraph(BuildState state)

Generates the explicit subgraph from the build state.

findBuildPath
string findBuildPath(string root)

Finds the path to the build description.

graph
Graph!(Resource, Task) graph(R rules)

Generates a graph from a set of rules.

queueChanges
void queueChanges(BuildState state, TaskPool pool, TextColor color)

Finds changed resources and marks them as pending in the build state.

rules
Rules rules(string path)

Parses the build description.

syncState
void syncState(R rules, BuildState state, TaskPool pool, bool dryRun)
void syncState(string path, BuildState state, TaskPool pool, bool dryRun)

Synchronizes the build state with the given set of rules.

syncStateImplicit
void syncStateImplicit(BuildState state, Index!Task v, Resource[] inputs, Resource[] outputs)

Syncs the build state with implicit dependencies.

visitResource
bool visitResource(BuildContext* ctx, Index!Resource v, size_t degreeIn, size_t degreeChanged)

Called when a resource vertex is visited.

visitTask
bool visitTask(BuildContext* ctx, Index!Task v, size_t degreeIn, size_t degreeChanged)

Called when a task vertex is visited.

Properties

stateName
string stateName [@property getter]

Constructs the name of the build state file based on the build description file name.

Meta

Authors

Jason White

Description: Generates input for GraphViz.