fn main() {
let out_dir = std::env::var("OUT_DIR").unwrap();
let probe_dst = format!("{out_dir}/sdme-kube-probe");
if let Ok(src) = std::env::var("SDME_KUBE_PROBE_PATH") {
if std::path::Path::new(&src).is_file() {
std::fs::copy(&src, &probe_dst).unwrap();
println!("cargo:rerun-if-changed={src}");
return;
}
}
let profile = std::env::var("PROFILE").unwrap_or_else(|_| "debug".to_string());
let manifest_dir = std::env::var("CARGO_MANIFEST_DIR").unwrap();
let mut candidates = Vec::new();
if let Ok(target) = std::env::var("TARGET") {
candidates.push(format!(
"{manifest_dir}/target/{target}/{profile}/sdme-kube-probe"
));
}
candidates.push(format!("{manifest_dir}/target/{profile}/sdme-kube-probe"));
for candidate in &candidates {
if std::path::Path::new(candidate).is_file() {
std::fs::copy(candidate, &probe_dst).unwrap();
println!("cargo:rerun-if-changed={candidate}");
return;
}
}
std::fs::write(&probe_dst, b"").unwrap();
println!("cargo:rerun-if-changed=src/kube/probe/");
}