Initial Commit
This commit is contained in:
82
crates/dcs-grpc/build.rs
Normal file
82
crates/dcs-grpc/build.rs
Normal file
@@ -0,0 +1,82 @@
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
std::env::set_var("PROTOC", protoc_bundled::PROTOC);
|
||||
std::env::set_var("PROTOC_INCLUDE", protoc_bundled::PROTOC_INCLUDE);
|
||||
|
||||
println!("cargo:rerun-if-changed=migrations");
|
||||
println!("cargo:rerun-if-changed=protos/dcs");
|
||||
|
||||
build_dcs_grpc_db()?;
|
||||
|
||||
// build_commands()?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
// fn build_commands() -> Result<(), Box<dyn std::error::Error>> {
|
||||
// Ok(())
|
||||
// }
|
||||
|
||||
fn build_dcs_grpc_db() -> Result<(), Box<dyn std::error::Error>> {
|
||||
tonic_build::configure()
|
||||
.type_attribute(".", "#[derive(::serde::Serialize, ::serde::Deserialize)]")
|
||||
.type_attribute(".", "#[serde(rename_all = \"camelCase\")]")
|
||||
.type_attribute(
|
||||
"dcs.mission.v0.StreamEventsResponse.event",
|
||||
"#[serde(tag = \"type\")]",
|
||||
)
|
||||
.type_attribute(
|
||||
"dcs.common.v0.Unit",
|
||||
"#[serde(from = \"UnitIntermediate\")]",
|
||||
)
|
||||
.type_attribute(
|
||||
"dcs.common.v0.Weapon",
|
||||
"#[serde(from = \"WeaponIntermediate\")]",
|
||||
)
|
||||
.type_attribute(
|
||||
"dcs.unit.v0.GetTransformResponse",
|
||||
"#[serde(from = \"GetTransformResponseIntermediate\")]",
|
||||
)
|
||||
.type_attribute(
|
||||
"dcs.mission.v0.StreamUnitsResponse.update",
|
||||
"#[allow(clippy::large_enum_variant)]",
|
||||
)
|
||||
.field_attribute(
|
||||
"dcs.mission.v0.StreamEventsResponse.MarkAddEvent.visibility",
|
||||
"#[serde(flatten)]",
|
||||
)
|
||||
.field_attribute(
|
||||
"dcs.mission.v0.StreamEventsResponse.MarkChangeEvent.visibility",
|
||||
"#[serde(flatten)]",
|
||||
)
|
||||
.field_attribute(
|
||||
"dcs.mission.v0.StreamEventsResponse.MarkRemoveEvent.visibility",
|
||||
"#[serde(flatten)]",
|
||||
)
|
||||
.field_attribute(
|
||||
"dcs.mission.v0.AddMissionCommandRequest.details",
|
||||
r#"#[serde(with = "crate::dcs::utils::proto_struct")]"#,
|
||||
)
|
||||
.field_attribute(
|
||||
"dcs.mission.v0.StreamEventsResponse.MissionCommandEvent.details",
|
||||
r#"#[serde(with = "crate::dcs::utils::proto_struct")]"#,
|
||||
)
|
||||
.field_attribute(
|
||||
"dcs.mission.v0.AddCoalitionCommandRequest.details",
|
||||
r#"#[serde(with = "crate::dcs::utils::proto_struct")]"#,
|
||||
)
|
||||
.field_attribute(
|
||||
"dcs.mission.v0.StreamEventsResponse.CoalitionCommandEvent.details",
|
||||
r#"#[serde(with = "crate::dcs::utils::proto_struct")]"#,
|
||||
)
|
||||
.field_attribute(
|
||||
"dcs.mission.v0.AddGroupCommandRequest.details",
|
||||
r#"#[serde(with = "crate::dcs::utils::proto_struct")]"#,
|
||||
)
|
||||
.field_attribute(
|
||||
"dcs.mission.v0.StreamEventsResponse.GroupCommandEvent.details",
|
||||
r#"#[serde(with = "crate::dcs::utils::proto_struct")]"#,
|
||||
)
|
||||
.build_client(true)
|
||||
.compile(&["protos/dcs/dcs.proto"], &["protos"])?;
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user