Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/dwarves

crates/nornir-funnel-embed/build.rs

// build.rs — compile the trimmed `proto/funnel.proto` into a prost+tonic CLIENT
// (plus the server binding, so the `testkit` feature can stand up a mock `Funnel`
// gRPC server — mirroring nornir-warehouse-embed's build.rs).
//
// Pure-Rust codegen (the nordisk zero-shell charter): `protox` (a pure-Rust .proto
// parser) produces the FileDescriptorSet, then `tonic-build` emits the client
// bindings from it — no `protoc` binary, no C. Mirrors `nornir/build.rs`.

fn main() {
    println!("cargo:rerun-if-changed=proto/funnel.proto");
    println!("cargo:rerun-if-changed=build.rs");

    let fds =
        protox::compile(["proto/funnel.proto"], ["proto"]).expect("protox: compile funnel.proto");

    tonic_prost_build::configure()
        .build_server(true)
        .build_client(true)
        .compile_fds(fds)
        .expect("tonic-build: codegen");
}