use std::path::PathBuf;
fn main() {
let out_dir = std::env::var("OUT_DIR").expect("OUT_DIR not set");
let out_path = PathBuf::from(&out_dir);
let bin_dir = out_path
.ancestors()
.nth(3)
.expect("cannot determine bin directory from OUT_DIR")
.to_path_buf();
let src = PathBuf::from("schema").join("agent-exec.schema.json");
let dst_dir = bin_dir.join("schema");
let dst = dst_dir.join("agent-exec.schema.json");
std::fs::create_dir_all(&dst_dir).expect("create schema dir in output");
std::fs::copy(&src, &dst)
.unwrap_or_else(|e| panic!("failed to copy {} to {}: {e}", src.display(), dst.display()));
println!("cargo:rerun-if-changed=schema/agent-exec.schema.json");
println!("cargo:rerun-if-changed=build.rs");
}