Skip to main content

Crate dlprotoc

Crate dlprotoc 

Source
Expand description

Downloads protoc binaries for use in Cargo build scripts.

This crate is intended to be used in Cargo build scripts (build.rs) with prost-build or tonic-build, so you don’t need protoc installed to build projects that use Protocol Buffers.

§Usage

Add the dlprotoc crate to build-dependencies in Cargo.toml:

[build-dependencies]
dlprotoc = "0"

In build.rs, call download_protoc before calling compile_protos:

fn main() -> Result<(), Box<dyn std::error::Error>> {
    dlprotoc::download_protoc()?;
    prost_build::compile_protos(&["src/example.proto"], &["src/"])?;
    Ok(())
}

Structs§

Error
The Error type returned by the dlprotoc crate.

Functions§

download_protoc
Downloads protoc to the OUT_DIR environment variable and sets the PROTOC environment variable so prost-build or tonic-build can find it.
download_unverified
Downloads protoc without verifying the hash. This should only be used by the dlprotoc crate, and by the protochashes tool.
protoc_hash
Hashes data using the algorithm used to verify protoc binaries (currently SHA-256). This should only be used by the protochashes tool.

Type Aliases§

CPUArch
OS