pub struct TaskGraph {
pub roots: BTreeSet<String>,
pub tasks: BTreeMap<String, Task>,
pub cycles: Vec<Vec<String>>,
pub requests: Vec<Request>,
pub options: BuildOptions,
pub excluded: Excluded,
}Fields§
§roots: BTreeSet<String>§tasks: BTreeMap<String, Task>§cycles: Vec<Vec<String>>The cycles broken under ignore_cycles, each as the tasks around it.
requests: Vec<Request>What the graph was built from, so that TaskGraph::rebuild can
build it again from another configuration.
options: BuildOptions§excluded: ExcludedThe tasks exclude_task_dependencies left out, whole, and the
dependencies it took from the tasks it kept: not run, but what a kept
task’s dependentTasksOutputFiles inputs still read the outputs of.
Implementations§
Source§impl TaskGraph
impl TaskGraph
pub fn build(workspace: &Workspace, requests: &[Request]) -> Result<Self>
pub fn build_with( workspace: &Workspace, requests: &[Request], options: BuildOptions, ) -> Result<Self>
Sourcepub fn output_dependencies(
&self,
task: &Task,
transitive: bool,
) -> BTreeSet<String>
pub fn output_dependencies( &self, task: &Task, transitive: bool, ) -> BTreeSet<String>
The tasks whose declared outputs task’s dependentTasksOutputFiles
inputs read: its direct dependencies, or with transitive every task
it depends on. Those exclude_task_dependencies left out count: they
are not run, but their outputs as they are on disk still key task,
which would otherwise be keyed as though it read none.
Sourcepub fn keyed_task(&self, id: &str) -> Option<&Task>
pub fn keyed_task(&self, id: &str) -> Option<&Task>
The task id, among those that run or those
exclude_task_dependencies left out.