#arcon #build #protobuf #attributes #proto #builder #required

arcon_build

为arcon提供的Protobuf构建器

1 个不稳定版本

0.2.0 2020年12月31日

#9 in #arcon

AGPL-3.0-only

4KB

ci Cargo License

arcon build

arcon_build 是一个用于从.proto文件生成 arcon 数据类型的crate。


lib.rs:

arcon_build 是一个围绕 prost-build 的包装器,它添加了arcon中工作所需的属性。

[dependencies]
arcon = <arcon-version>
serde = <arcon-serde-version>
prost = <arcon-prost-version>
abomonation = <arcon-abomonation-version>
abomonation_derive = <arcon-abomonation-derive-version>

[build-dependencies]
arcon_build = { version = <arcon-version> }

示例 .proto 文件

syntax = "proto3";

package arcon_data;

// unsafe_ser_id = 100
// reliable_ser_id = 101
// version = 1
message Hello {
string id = 1
}

通过创建一个 build.rs 构建脚本并使用 compile_protos 函数来生成Rust代码

fn main() -> Result<()> {
  arcon_build::compile_protos(&["src/path_to_file.proto"], &["src/"])?;
  Ok(())
}

依赖关系

~7–16MB
~207K SLoC