81 stable releases
3.0.0-alpha.2 | Nov 1, 2021 |
---|---|
2.28.0 | Sep 26, 2022 |
2.27.1 | Feb 5, 2022 |
2.25.2 | Oct 24, 2021 |
1.4.1 | Jun 24, 2017 |
#130 in #protobuf
116,587 downloads per month
Used in fewer than 51 crates
1.5MB
35K
SLoC
API to generate .rs files
API to generate .rs
files to be used e. g. from build.rs.
Example code:
extern crate protoc_rust;
use protoc_rust::Customize;
fn main() {
protoc_rust::Codegen::new()
.out_dir("src/protos")
.inputs(&["protos/a.proto", "protos/b.proto"])
.include("protos")
.run()
.expect("protoc");
}
And in Cargo.toml
:
[build-dependencies]
protoc-rust = "2.0"
Note 1: This API requires protoc
command present in $PATH
.
Although protoc-gen-rust
command is not needed.
Note 2: Is advisable that protoc-rust
build-dependecy version be the same as protobuf
dependency.
The alternative is to use pure-rust .proto parser and code generator.
lib.rs
:
API to generate .rs
files.
This API requires protoc
command present in $PATH
or passed explicitly to Codegen
object.
extern crate protoc_rust;
fn main() {
protoc_rust::Codegen::new()
.out_dir("src/protos")
.inputs(&["protos/a.proto", "protos/b.proto"])
.include("protos")
.run()
.expect("Running protoc failed.");
}
It is advisable that protoc-rust
build-dependecy version be the same as
protobuf
dependency.
The alternative is to use protobuf-codegen-pure
.
Dependencies
~0.2–5.5MB
~95K SLoC