128 个版本
0.19.0 | 2024年1月14日 |
---|---|
0.18.0 | 2023年9月4日 |
0.17.2 | 2023年6月26日 |
0.16.3 | 2023年2月27日 |
0.0.5 | 2014年11月23日 |
#86 在 编码
108,021 每月下载量
在 72 个 软件包中使用 (直接使用 33)
1.5MB
30K SLoC
Rust 的 Cap'n Proto 代码生成
生成的代码依赖于 capnproto-rust 运行时库.
可以通过 rust.capnp
中定义的注释来自定义代码生成。
lib.rs
:
Cap'n Proto 模式编译器插件库
此库允许您在 Cargo 构建中使用 Cap'n Proto 代码生成。您仍然需要 capnp
二进制文件(用 C++ 实现)。(如果您使用包管理器,请尝试查找名为 capnproto
的包。)
在您的 Cargo.toml 中
[dependencies]
capnp = "0.19" # Note this is a different library than capnp*c*
[build-dependencies]
capnpc = "0.19"
在您的 build.rs 中
fn main() {
capnpc::CompilerCommand::new()
.src_prefix("schema")
.file("schema/foo.capnp")
.file("schema/bar.capnp")
.run().expect("schema compiler command");
}
在您的 lib.rs 中
mod foo_capnp {
include!(concat!(env!("OUT_DIR"), "/foo_capnp.rs"));
}
mod bar_capnp {
include!(concat!(env!("OUT_DIR"), "/bar_capnp.rs"));
}
这相当于执行以下 shell 命令
capnp compile -orust:$OUT_DIR --src-prefix=schema schema/foo.capnp schema/bar.capnp