[][src]Crate roadmap

Model project roadmaps and step dependencies

This crate models a roadmap as steps, which may depend on each other, and a directed acyclic graph (DAG) of said steps, which leads to the end goal. There is no support for due dates, estimates, or other such project management features. These roadmaps only care about what steps need to be take, in what order, to reach the goal.

Example

let mut r = roadmap::from_yaml("
endgoal:
  label: The end goal
  depends:
  - first
first:
  label: The first step
").unwrap();

let n: Vec<&str> = r.step_names().collect();
assert_eq!(n.len(), 2);
assert!(n.contains(&"first"));
assert!(n.contains(&"endgoal"));

r.set_missing_statuses();
println!("{}", r.format_as_dot(30).unwrap());

Structs

Roadmap

Represent a full project roadmap.

Step

A roadmap step.

Enums

RoadmapError

Errors that can be returned for roadmaps.

Status

Represent the status of a step in a roadmap.

Functions

from_yaml

Create a new roadmap from a textual YAML representation.

Type Definitions

RoadmapResult

Error in Roadmap, from parsing or otherwise.