1use crate::cli::CleanArgs;
2use anyhow::{Context, Result};
3use std::fs;
4
5pub fn clean(clean_args: CleanArgs) -> Result<()> {
6 let target_directory = clean_args.path.join("target");
7 let dependency_directory = clean_args.path.join("dependency");
8
9 if target_directory.exists() {
10 fs::remove_dir_all(&target_directory)
11 .with_context(|| format!("Failed to remove directory {:?}", &target_directory))?;
12 }
13
14 if dependency_directory.exists() && clean_args.deps_too {
15 fs::remove_dir_all(&dependency_directory)
16 .with_context(|| format!("Failed to remove directory {:?}", &dependency_directory))?;
17 }
18
19 Ok(())
20}