From aad8bb32c0e37d4654862c371d4f29bf49c0ae80 Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Tue, 4 Jun 2024 16:24:46 +0000 Subject: [PATCH] Better error messages on missing or outdated protoc. --- router/client/build.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/router/client/build.rs b/router/client/build.rs index 497be545..eeacb199 100644 --- a/router/client/build.rs +++ b/router/client/build.rs @@ -13,7 +13,11 @@ fn main() -> Result<(), Box> { .out_dir("src/pb") .include_file("mod.rs") .compile_with_config(config, &["../../proto/generate.proto"], &["../../proto"]) - .unwrap_or_else(|e| panic!("protobuf compilation failed: {e}")); + .map_err(|e| match e.kind(){ + std::io::ErrorKind::NotFound => {panic!("`protoc` not found, install libprotoc")}, + std::io::ErrorKind::Other => {panic!("`protoc` version unsupported, upgrade protoc: https://github.com/protocolbuffers/protobuf/releases")}, + e => {e} + }).unwrap_or_else(|e| panic!("protobuf compilation failed: {e}")); Ok(()) }