fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("cargo:rerun-if-changed=proto/cluster.proto");
println!("cargo:rerun-if-changed=proto/search_api.proto");
println!("cargo:rerun-if-changed=proto/ingest_api.proto");
let mut prost_config = prost_build::Config::default();
prost_config.protoc_arg("--experimental_allow_proto3_optional");
tonic_build::configure()
.type_attribute(".", "#[derive(Serialize, Deserialize)]")
.type_attribute("OutputFormat", "#[serde(rename_all = \"snake_case\")]")
.out_dir("src/")
.compile_with_config(
prost_config,
&[
"./proto/cluster.proto",
"./proto/search_api.proto",
"./proto/ingest_api.proto",
],
&["./proto"],
)?;
Ok(())
}