4个版本 (破坏性更新)

0.4.0 2023年9月27日
0.3.0 2022年8月16日
0.2.0 2022年8月16日
0.1.0 2022年8月14日

#1048 in 算法


用于 sdl-parser

MIT 许可

14KB
217 代码行

Depper

检测依赖循环和查找缺失依赖项的库。它还允许将依赖项排序到批次中,这可以用作层次依赖解析。 API文档可在此处找到。


lib.rs:

githubcrates-iodocs-rs


检测依赖循环和查找缺失依赖项的库。它还允许将依赖项排序到批次中,这可以用作层次依赖解析。


详细信息

  • 它公开了两个结构体 DependencyBuilderDependencies。第一个用于构建依赖项列表,并调用 .build() 函数(第二个结构体也进行了验证)来构建列表。第二个结构体用于生成部署层次结构的依赖项批次。

    use depper::Dependencies;
    
    let mut dependencies_builder = Dependencies::builder()
      .add_element("b".to_string(), vec!["d".to_string()])
      .add_element("c".to_string(), vec!["d".to_string()])
      .add_element("a".to_string(), vec!["d".to_string(), "e".to_string(), "y".to_string()])
      .add_element("d".to_string(), vec!["e".to_string()])
      .add_element("e".to_string(), vec![])
      .add_element("y".to_string(), vec![]);
      
    // Calling the `.build()` function validates the list of dependencies.
    let dependencies = dependencies_builder.build().unwrap();
     
    // The `.tranches()` function returns a list of tranches.
    println!("{:?}", dependencies.generate_tranches().unwrap());
    
    [["e", "y"], ["d"], ["b", "c", "a"]]
    

依赖项

~3MB
~46K SLoC