ttrpc-codegen

Crates.iottrpc-codegen
lib.rsttrpc-codegen
version0.2.4
sourcesrc
created_at2020-07-20 07:11:05.028956
updated_at2023-06-19 13:34:13.781836
descriptionRust codegen for ttrpc using ttrpc-compiler crate
homepagehttps://github.com/containerd/ttrpc-rust/tree/master/ttrpc-codegen
repositoryhttps://github.com/containerd/ttrpc-rust/tree/master/ttrpc-codegen
max_upload_size
id267132
size124,210
Tim Zhang (Tim-Zhang)

documentation

README

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

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.

Commit count: 447

cargo fmt