#protoc #proto #path #api #customize #protoc-gen-rust #protoc-gen-run

protoc-rust-no-elision

protoc --rust_out=... 可用作为API。protoc需要在$PATH中,protoc-gen-run不需要。

1个稳定版本

使用旧的Rust 2015

2.0.4 2018年12月19日

#5 in #customize

MIT/Apache

7KB
123 代码行

生成.rs文件的API

生成 .rs 文件的API,例如 从 build.rs 使用。

示例代码

extern crate protoc_rust;

protoc_rust::run(protoc_rust::Args {
    out_dir: "src/protos",
    input: &["protos/a.proto", "protos/b.proto"],
    includes: &["protos"],
    customize: Customize {
      ..Default::default()
    },
}).expect("protoc");

并在 Cargo.toml

[build-dependencies]
protoc-rust = "1.5"

注意此API需要 protoc 命令存在于 $PATH 中。尽管不需要 protoc-gen-rust 命令。

另一种选择是使用 纯Rust .proto解析器和代码生成器

依赖项

~2MB
~40K SLoC