diff --git a/build.rs b/build.rs index 9010c02..dc5e80e 100644 --- a/build.rs +++ b/build.rs @@ -68,8 +68,12 @@ fn main() -> Result<(), Box> { .map_err(|_| "Unable to generate bindings")? .write_to_file(out_dir.join("bindings.rs"))?; + // Only generate protobuf bindings if protoc is available let protoc_exists = Command::new("protoc").arg("--version").status().is_ok(); - if env::var("REGENERATE_PROTOBUF").is_ok() || protoc_exists { + // If the package is being built by docs.rs, we don't want to regenerate the protobuf bindings + let is_built_by_docs_rs = env::var("DOCS_RS").is_ok(); + + if !is_built_by_docs_rs && (env::var("REGENERATE_PROTOBUF").is_ok() || protoc_exists) { println!("generating protobuf bindings"); // HACK: Set OUT_DIR to src/ so that the generated protobuf file is copied to src/protobuf.rs let src_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR")?).join("src");