4 个版本 (2 个重大更改)

0.3.0 2024 年 6 月 9 日
0.2.1 2024 年 6 月 8 日
0.2.0 2023 年 12 月 29 日
0.1.0 2023 年 12 月 29 日

#778解析器实现

Download history 339/week @ 2024-06-06 31/week @ 2024-06-13 3/week @ 2024-06-20 26/week @ 2024-07-04 7/week @ 2024-07-11

每月 202 次下载

MIT 许可证

43KB
1K SLoC

android-bp

一个用于解析 Android.bp 文件的 Rust crate

使用方法

    use android_bp::BluePrint;

    let bp = BluePrint::from_file("fixtures/Android.bp").unwrap();
    println!("{:#?}", bp);

    // variables are accessible as a rust HashMap
    println!("{:#?}", bp.variables);
    for m in &bp.modules {
        if m.typ == "rust_binary" {
            println!("{:?}", m.get("name").unwrap());
        }
    }
    // or iter them by type
    for m in bp.modules_by_type("rust_host_test") {
        // m.get return an sometime inconvenient Option<&Value>
        // so some helper methods are provided
        let name = m.get_string("name").unwrap();
        let srcs = m.get_array("srcs").unwrap();
        println!("{:?} {:?}", name, srcs);
    }

依赖关系

~1MB
~19K SLoC