# 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). ```rust 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`: ```toml [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](https://docs.rs/protobuf-codegen-pure). # Protoc binary This crate searches for `protoc` binary in `$PATH` by default. `protoc` binary can be obtained using [`protoc-bin-vendored` crate](https://docs.rs/protoc-bin-vendored) and supplied to `Codegen` object. # This is version 2 In branch 3 of rust-protobuf this functionality is provided by [`protobuf-codegen` crate](https://docs.rs/protobuf-codegen/%3E=3.0.0-alpha).