proto/build.rs

69 lines
2.2 KiB
Rust

// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: Unlicense
fn main() -> Result<(), Box<dyn std::error::Error>> {
tonic_build::configure()
.build_server(true)
.protoc_arg("--experimental_allow_proto3_optional")
.type_attribute(
".vm_proto.VmContract",
"#[derive(serde::Serialize, serde::Deserialize)]",
)
.type_attribute(
".common_proto.MappedPort",
"#[derive(serde::Serialize, serde::Deserialize)]",
)
.type_attribute(
".app_proto.AppResource",
"#[derive(serde::Serialize, serde::Deserialize)]",
)
.type_attribute(
".app_proto.AppContract",
"#[derive(serde::Serialize, serde::Deserialize)]",
)
.type_attribute(
".app_proto.AppNodeListResp",
"#[derive(serde::Serialize, serde::Deserialize)]",
)
.type_attribute(
".general_proto.ListOperatorsResp",
"#[derive(serde::Serialize, serde::Deserialize)]",
)
.type_attribute(
".general_proto.InspectOperatorResp",
"#[derive(serde::Serialize, serde::Deserialize)]",
)
.type_attribute(
".vm_proto.VmNodeOffer",
"#[derive(serde::Serialize, serde::Deserialize)]",
)
.type_attribute(
".vm_proto.VmNodeListResp",
"#[derive(serde::Serialize, serde::Deserialize)]",
)
.type_attribute(
".vm_proto.MeasurementArgs",
"#[derive(serde::Serialize, serde::Deserialize)]",
)
.type_attribute(
".vm_proto.MeasurementIP",
"#[derive(serde::Serialize, serde::Deserialize)]",
)
.type_attribute(
".dtpm_proto.FileEntry",
"#[derive(serde::Serialize, serde::Deserialize, bincode::Encode, bincode::Decode)]",
)
.compile_protos(
&[
"proto/sgx/app.proto",
"proto/sgx/dtpm.proto",
"proto/snp/vm.proto",
"proto/shared/common.proto",
"proto/shared/general.proto",
],
&["proto"],
)?;
Ok(())
}