#protobuf #serialization #codegen #protoc #buffer #proto #protocols

bin+lib protobuf-codegen-pure3

Pure-rust 代码生成器,使用 protobuf-parser 包,WIP

4 个稳定版本

使用旧的 Rust 2015

2.28.2 2023年2月27日
2.28.1 2022年10月14日
2.27.3 2022年9月7日

#957编码

Download history 36/week @ 2024-04-10 57/week @ 2024-04-17 24/week @ 2024-04-24 8/week @ 2024-05-01 24/week @ 2024-05-08 21/week @ 2024-05-15 38/week @ 2024-05-22 53/week @ 2024-05-29 77/week @ 2024-06-05 61/week @ 2024-06-12 27/week @ 2024-06-19 17/week @ 2024-06-26 18/week @ 2024-07-03 46/week @ 2024-07-10 33/week @ 2024-07-17 46/week @ 2024-07-24

每月下载量:146

MIT 许可证

1.5MB
38K SLoC

生成 .rs 文件的 API

此 API 不需要存在于 protoc 命令中的 $PATH.

extern crate protoc_rust;

fn main() {
    protobuf_codegen_pure::Codegen::new()
        .out_dir("src/protos")
        .inputs(&["protos/a.proto", "protos/b.proto"])
        .include("protos")
        .run()
        .expect("Codegen failed.");
}

Cargo.toml

[build-dependencies]
protobuf-codegen-pure = "2"

建议 protobuf-codegen-pure 的构建依赖版本与 protobuf 依赖版本相同。

另一种选择是使用 protoc-rust 包,它使用 protoc 命令进行解析(因此它使用与 Google 在其 protobuf 实现中使用的相同解析器)。

版本 2

这是该包版本 2 的文档。

在版本 3 中,此 API 已移动到 protobuf-codegen


lib.rs:

生成 .rs 文件的 API

此 API 不需要存在于 protoc 命令中的 $PATH.

extern crate protoc_rust;

fn main() {
    protobuf_codegen_pure::Codegen::new()
        .out_dir("src/protos")
        .inputs(&["protos/a.proto", "protos/b.proto"])
        .include("protos")
        .run()
        .expect("Codegen failed.");
}

Cargo.toml

[build-dependencies]
protobuf-codegen-pure = "2"

建议 protobuf-codegen-pure 的构建依赖版本与 protobuf 依赖版本相同。

另一种选择是使用 protoc-rust 包,它使用 protoc 命令进行解析(因此它使用与 Google 在其 protobuf 实现中使用的相同解析器)。

版本 2

这是该包版本 2 的文档。

在版本 3 中,此 API 已移动到 protobuf-codegen

依赖关系