Files
foxhunt/testing/e2e/build.rs
jgrusewski 9c3d741a08 refactor: restructure repo — crates/, bin/, testing/ layout
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>
2026-02-25 11:56:00 +01:00

40 lines
1.6 KiB
Rust

use std::io::Result;
fn main() -> Result<()> {
// Build gRPC service definitions for E2E test clients (Tonic 0.14+)
//
// NOTE: Building TLI trading.proto separately to avoid naming conflicts
// with trading_service trading.proto (both define trading.proto but with different packages)
tonic_prost_build::configure()
.build_server(false) // We only need clients for E2E tests
.build_client(true)
.out_dir("src/proto")
// Suppress warnings in generated code
.server_mod_attribute(".", "#[allow(unused_qualifications)]")
.client_mod_attribute(".", "#[allow(unused_qualifications)]")
.compile_protos(
&[
"../../services/trading_service/proto/trading.proto",
"../../services/trading_service/proto/config.proto",
"../../services/trading_service/proto/risk.proto",
"../../services/ml_training_service/proto/ml_training.proto",
],
&[
"../../services/trading_service/proto",
"../../services/ml_training_service/proto",
],
)?;
// Build TLI protos separately (backtesting service uses TLI proto)
tonic_prost_build::configure()
.build_server(false)
.build_client(true)
.out_dir("src/proto")
.server_mod_attribute(".", "#[allow(unused_qualifications)]")
.client_mod_attribute(".", "#[allow(unused_qualifications)]")
.compile_protos(&["../../bin/fxt/proto/trading.proto"], &["../../bin/fxt/proto"])?;
println!("cargo:rerun-if-changed=../../services/");
Ok(())
}