oxur-component 0.1.2

Enabling the creation of application components with lifecycle and dependency support
Documentation
use component::deps;
use component::Component;
use petgraph::dot::Dot;
use petgraph::Directed;
use petgraph::graphmap::GraphMap;

fn main() {
    let mut g = GraphMap::<&str, String, Directed>::new();
    let deps = vec![
        Component{
            name: "myapp::components::comp1",
            dependencies: vec![
                "myapp::components::comp2",
                "myapp::components::comp3",
                "myapp::components::comp4",
            ]
        },
        Component {
            name: "myapp::components::comp3",
            dependencies: vec![
                "myapp::components::comp7",
                "myapp::components::comp8"],
        },
        Component {
            name: "myapp::components::comp4",
            dependencies: vec![
                "myapp::components::comp5",
                "myapp::components::comp8"],
        },
        Component {
            name: "myapp::components::comp5",
            dependencies: vec!["myapp::components::comp6"],
        },
        Component {
            name: "myapp::components::comp6",
            dependencies: vec!["myapp::components::comp7"],
        },
    ];
    deps::add_components(&mut g, deps);
    println!("{:?}\n", g);
    println!("Sorted:");
    for comp in deps::sort(&g) {
        println!("{}", comp);
    }
    println!("Dot language format:\n\n{}", Dot::new(&g));
}