12 releases
0.4.2 | Apr 14, 2023 |
---|---|
0.4.1 | Sep 14, 2022 |
0.4.0 |
|
0.3.0 | Dec 22, 2021 |
0.1.1 | Jul 20, 2020 |
#451 in Network programming
29,732 downloads per month
Used in 4 crates
(3 directly)
180KB
4.5K
SLoC
API to generate .rs files for ttrpc from protobuf
API to generate .rs
files to be used e. g. from build.rs.
Example
build.rs:
use ttrpc_codegen::Codegen;
use ttrpc_codegen::{Customize, ProtobufCustomize};
fn main() {
let protos = vec![
"protos/a.proto",
"protos/b.proto",
];
Codegen::new()
.out_dir("protocols/sync")
.inputs(&protos)
.include("protocols/protos")
.rust_protobuf()
.customize(Customize {
..Default::default()
})
.rust_protobuf_customize(ProtobufCustomize {
..Default::default()
}
.run()
.expect("Gen code failed.");
}
Cargo.toml:
[build-dependencies]
ttrpc-codegen = "0.2"
Versions
ttrpc-codegen version | ttrpc version |
---|---|
0.1.x | <= 0.4.x |
0.2.x | == 0.5.x |
0.3.x | == 0.6.x |
0.4.x | >= 0.7.x |
Alternative
The alternative is to use
protoc-rust crate,
which relies on protoc
command to parse descriptors. Both crates should produce the same result,
otherwise please file a bug report.
Dependencies
~10–20MB
~286K SLoC