use std::{env, path::PathBuf}; fn main() -> Result<(), Box> { let proto_dir = PathBuf::from("schema/protobuf/sync_pb"); let mut protos = Vec::new(); for entry in std::fs::read_dir(&proto_dir)? { let path = entry?.path(); if path.extension().is_some_and(|ext| ext == "proto") { println!("cargo:rerun-if-changed={}", path.display()); protos.push(path); } } let protoc = protoc_bin_vendored::protoc_bin_path()?; unsafe { env::set_var("PROTOC", protoc); } prost_build::Config::new().compile_protos(&protos, &[proto_dir])?; Ok(()) }