Move 17 library crates into crates/, CLI binary into bin/fxt, consolidate 10 test crates into testing/, split config crate from deployment config files. Root directory reduced from 38+ to ~17 directories. All Cargo.toml paths and build.rs proto refs updated. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
38 lines
1.5 KiB
Rust
38 lines
1.5 KiB
Rust
// use prost_build as _; // Not directly used
|
|
|
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
// Configure tonic-prost-build for proto compilation (Tonic 0.14+)
|
|
// Note: Server code enabled for E2E tests (mock gRPC servers)
|
|
tonic_prost_build::configure()
|
|
.build_server(true) // Required for E2E test mock servers
|
|
.build_client(true)
|
|
// Force correct protobuf attributes for all messages
|
|
.type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]")
|
|
// Suppress warnings in generated code
|
|
.server_mod_attribute(".", "#[allow(unused_qualifications)]")
|
|
.client_mod_attribute(".", "#[allow(unused_qualifications)]")
|
|
// Enable proper protobuf derives
|
|
.protoc_arg("--experimental_allow_proto3_optional")
|
|
.compile_protos(
|
|
&[
|
|
"proto/trading.proto",
|
|
"proto/health.proto",
|
|
"proto/ml.proto",
|
|
"proto/config.proto",
|
|
"proto/ml_training.proto",
|
|
"proto/trading_agent.proto",
|
|
],
|
|
&["proto"],
|
|
)?;
|
|
|
|
// Tell cargo to recompile if proto files change
|
|
println!("cargo:rerun-if-changed=proto/trading.proto");
|
|
println!("cargo:rerun-if-changed=proto/health.proto");
|
|
println!("cargo:rerun-if-changed=proto/ml.proto");
|
|
println!("cargo:rerun-if-changed=proto/config.proto");
|
|
println!("cargo:rerun-if-changed=proto/ml_training.proto");
|
|
println!("cargo:rerun-if-changed=proto/trading_agent.proto");
|
|
|
|
Ok(())
|
|
}
|