use std::error::Error;
use std::fs;
use std::path::Path;
use log::info;
use crate::config::Config;
use crate::build::{Artifact,Build};
use crate::{init_registry};
pub fn clean(whileyhome: &Path) -> Result<bool,Box<dyn Error>> {
let config_file = fs::read_to_string("wy.toml").expect("Error reading build configuration!");
let config = Config::from_str(config_file.as_str())?;
let registry = init_registry();
let build = Build::from_str(&config,whileyhome,®istry)?;
for ba in build.manifest() {
match ba {
Artifact::BinaryFolder(p) => {
if p.as_path().exists() {
info!("Removing folder {}",p.display());
fs::remove_dir_all(p)?;
}
}
_ => {
}
}
}
Ok(true)
}