use std::env;
use std::fs;
use std::path::PathBuf;
fn main() {
if let Ok(package_name) = env::var("CARGO_PKG_NAME") {
if package_name == "jacs" {
let target_dir = PathBuf::from(
env::var("CARGO_TARGET_DIR").unwrap_or_else(|_| "target".to_string()),
);
let release_dir = target_dir.join("release");
let path_dirs = env::var_os("PATH").unwrap_or_default();
let path_dirs = env::split_paths(&path_dirs).collect::<Vec<_>>();
let install_dir = path_dirs.into_iter().find(|dir| dir.is_dir());
match install_dir {
Some(dir) => {
let bin_file = release_dir.join("jacs");
let install_file = dir.join("jacs");
if bin_file.exists() {
match fs::copy(&bin_file, &install_file) {
Ok(_) => println!("Installed 'jacs' to '{}'", install_file.display()),
Err(err) => println!(
"Warning: Failed to install 'jacs' to '{}': {}",
install_file.display(),
err
),
}
} else {
println!(
"Warning: 'jacs' binary not found at '{}'",
bin_file.display()
);
}
}
None => {
println!("Warning: No suitable directory found in PA TH to install 'jacs'");
}
}
}
}
}