protoc-rust

Crates.ioprotoc-rust
lib.rsprotoc-rust
version2.28.0
sourcesrc
created_at2017-06-12 09:32:17.653233
updated_at2022-09-26 00:53:21.974019
descriptionprotoc --rust_out=... available as API. protoc needs to be in $PATH, protoc-gen-run does not.
homepagehttps://github.com/stepancheg/rust-protobuf/
repositoryhttps://github.com/stepancheg/rust-protobuf/
max_upload_size
id18691
size14,384
Stepan Koltsov (stepancheg)

documentation

README

API to generate .rs files using protoc to parse files

This API requires protoc command present in $PATH or explicitly passed to Codegen object (but protoc plugin is not needed).

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.");
}

and in build.rs:

[build-dependencies]
protoc-rust = "2"

It is advisable that protoc-rust build-dependency version be the same as protobuf dependency.

The alternative is to use protobuf-codegen-pure crate.

Protoc binary

This crate searches for protoc binary in $PATH by default.

protoc binary can be obtained using protoc-bin-vendored crate and supplied to Codegen object.

This is version 2

In branch 3 of rust-protobuf this functionality is provided by protobuf-codegen crate.

Commit count: 3238

cargo fmt