use std::io::Result;
fn main() -> Result<()> {
let proto_root = "proto";
println!("cargo:rerun-if-env-changed=GOOSEFS_SDK_REGEN_PROTO");
if std::env::var("GOOSEFS_SDK_REGEN_PROTO").as_deref() != Ok("1") {
return Ok(());
}
tonic_build::configure()
.build_server(false)
.build_client(true)
.out_dir("src/generated")
.compile_protos(
&[
"proto/grpc/common.proto",
"proto/grpc/fscommon.proto",
"proto/grpc/version.proto",
"proto/grpc/file_system_master.proto",
"proto/grpc/block_worker.proto",
"proto/grpc/worker_manager_master.proto",
"proto/proto/dataserver/protocol.proto",
"proto/proto/dataserver/status.proto",
"proto/proto/security/capability_token.proto",
"proto/proto/security/token.proto",
"proto/proto/shared/acl.proto",
"proto/grpc/sasl/sasl_server.proto",
],
&[proto_root],
)?;
println!("cargo:rerun-if-changed={}", proto_root);
Ok(())
}