#beam #protobuf #apache-beam

beam-proto-rs

由 apache/beam .proto 生成的 Rust 代码

1 个稳定版本

2.41.0 2022 年 9 月 5 日

#4#protocol-buffers

Apache-2.0

3MB
63K SLoC

Rust 37K SLoC // 0.1% comments Go 23K SLoC // 0.1% comments Java 3.5K SLoC // 0.3% comments

beam-proto-rs

由 apache/beam 仓库中的协议缓冲文件生成的 Rust 代码。

此仓库还提供了一个构建脚本,用于将 protobuf 编译成 Rust 代码。

版本管理

此包基本上遵循 beam 的版本。

  • v2.41.0 是从 .proto 生成的,这些 .proto 来自 apache/beam 标签:v2.41.0。
  • 某些版本可能有构建号,例如 v2.41.0+N,这意味着它是从 beam 的标签:v2.41.0 生成的第 N 个构建(N > 1)。第 2 个及以后的构建通常是用于修复错误的。

开发

构建

从 beam 的 .proto 生成 .rs 需要 build-proto 功能标志。

cargo build --features build-proto -vv

-vv 用于在您的终端显示 eprintln!() 字符串。

更新 Beam

beam/ 是一个 git 子模块。

cd beam
git fetch --tags
git checkout v<NEW VERSION>
cd ..
git commit -am 'build: bump up beam to v<NEW VERSION>'

部署

  1. Cargo.toml 中更改版本。
  2. 更新 Beam。
  3. 将子模块大小缩小以避免来自 crates.io 的 413 错误:cd beam; git sparse-checkout set model; cd ..
  4. main 分支: cargo publish

许可证

根据 Apache License, Version 2.0 许可。

除非您明确声明,否则您提交给 beam-proto-rs 的任何有意包含的贡献,根据 Apache-2.0 许可证定义,应按上述方式许可,不附加任何额外条款或条件。

版权所有 (c) 2022 Sho Nakatani <[email protected]>.

依赖项

~1.7–3MB
~56K SLoC