Files
foxhunt/services/ml_training_service/build.rs

36 lines
1.4 KiB
Rust

fn main() -> Result<(), Box<dyn std::error::Error>> {
// NOTE: Tonic 0.14+ uses tonic_prost_build instead of tonic_build
let config = tonic_prost_build::configure();
config
.clone()
.build_server(true)
.build_client(true)
.compile_well_known_types(true)
.extern_path(".google.protobuf", "::prost_types")
.type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]")
// Suppress warnings in generated code
.server_mod_attribute(".", "#[allow(unused_qualifications)]")
.client_mod_attribute(".", "#[allow(unused_qualifications)]")
.compile_protos(&["proto/ml_training.proto"], &["proto"])?;
// Compile TLI BacktestingService proto (client only -- for validation pipeline)
config
.build_server(false)
.build_client(true)
.compile_well_known_types(true)
.extern_path(".google.protobuf", "::prost_types")
.type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]")
.server_mod_attribute(".", "#[allow(unused_qualifications)]")
.client_mod_attribute(".", "#[allow(unused_qualifications)]")
.compile_protos(
&["../../tli/proto/trading.proto"],
&["../../tli/proto"],
)?;
println!("cargo:rerun-if-changed=proto/ml_training.proto");
println!("cargo:rerun-if-changed=../../tli/proto/trading.proto");
Ok(())
}