gitdataai/lib/git/build.rs
2026-05-30 01:38:40 +08:00

26 lines
973 B
Rust

fn main() {
let proto_dir = "proto";
let protos = [
format!("{proto_dir}/common.proto"),
format!("{proto_dir}/archive.proto"),
format!("{proto_dir}/blame.proto"),
format!("{proto_dir}/blob.proto"),
format!("{proto_dir}/branch.proto"),
format!("{proto_dir}/commit.proto"),
format!("{proto_dir}/diff.proto"),
format!("{proto_dir}/fork.proto"),
format!("{proto_dir}/init.proto"),
format!("{proto_dir}/merge.proto"),
format!("{proto_dir}/tag.proto"),
format!("{proto_dir}/tree.proto"),
];
tonic_prost_build::configure()
.type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]")
.type_attribute("ObjectId", "#[serde(transparent)]")
.field_attribute("ObjectId.value", "#[serde(rename = \"0\")]")
.compile_protos(&protos, &[proto_dir.to_string()])
.unwrap_or_else(|e| panic!("Failed to compile protos: {e}"));
}