19 个版本 (5 个稳定版)
| 1.2.1 | 2023年7月1日 |
|---|---|
| 1.1.0 | 2022年3月31日 |
| 0.9.1 | 2022年3月28日 |
#567 in 开发工具
每月下载量 55
75KB
1.5K SLoC
makeclean
从代码项目中删除生成和下载的文件以释放空间。
功能
- 列出、清理并存档根据您多久没有触摸它们的项目。
- 尊重
.gitignore文件,即使不在 Git 仓库中。构建工具通常在初始化新项目时创建.gitignore文件,因此确保即使在您尚未初始化 Git 仓库的情况下也不会遍历依赖项。 - 支持
.ignore文件,与.gitignore文件具有相同的语义,并由 ripgrep 和 The Silver Searcher 等搜索工具支持。 - 忽略隐藏目录。
目前支持以下构建工具
- Cargo
- Elm
- Flutter
- Gradle (假设
$buildDir设置为默认值$projectDir/build! 查看gradle.rs) - Mix
- NPM
目录
安装
使用 Cargo 安装
cargo install makeclean
当前版本: 1.2.1
用法
运行 makeclean --help 以查看所有可用选项。
列出项目
使用 --list/-l 列出给定路径下所有“过时”的项目,即最近未更改的项目。
makeclean --list ~/projects
默认情况下,如果一个项目至少一个月没有变化,则被视为过时。您可以通过使用 --min-stale / -m 来更改此设置;例如,要考虑在过去两周内未修改的所有项目
makeclean --list --min-stale=2w ~/projects
将 --min-stale 设置为零可禁用检查
makeclean --list --min-stale=0 ~/projects
您还可以使用 --type / -t 通过构建工具进行过滤
makeclean --list --type npm ~/projects
清理项目
默认情况下,makeclean 会查找过去一个月未接触过的任何项目,并建议清理它们
makeclean ~/projects
使用 --dry-run / -n 来查看会发生什么,但实际上不会删除任何内容
makeclean --dry-run ~/projects
如果在脚本中运行 makeclean 并且不想出现提示,可以传递 --yes 以自动进行
makeclean --yes ~/projects
您也可以一次性指定多个目录。例如,要定期清理一些临时目录,可以将类似以下内容添加到 crontab 或启动脚本中
makeclean --min-stale=1w --yes \
~/code/rust-playground \
~/code/elm-playground \
~/code/flutter-playground
清理 + 存档项目
如果您还希望在清理项目后存档项目,请传递 --archive。例如,以下命令会在清理后用 ~/projects/foo.tar.xz 替换 ~/projects/foo 的内容
makeclean --archive ~/projects/foo
请注意,虽然
--archive也考虑了已清理的项目,但它仍然尊重--min-stale。如果 makeclean 没有找到您的项目,但您认为应该找到,请尝试使用环境变量RUST_LOG设置为trace再次尝试,例如,RUST_LOG=trace makeclean --archive ~/projects/foo。您应该会看到有关项目为何未被考虑的提示。如果日志没有告诉您发生了什么,请考虑 创建一个 GitHub 问题。
要恢复项目,请使用 tar(可能已经安装到您的系统上)
cd ~/projects/foo
tar -xaf foo.tar.xz && rm foo.tar.xz
黑客技巧
欢迎提交 PR!查看 crates.io 上的文档 以开始。如果您有任何问题,请随时创建 GitHub 问题。
添加新构建工具的清单
- 将适用的项目类型添加到
src/build_tools.rs中的BuildToolKind枚举。 - 将新模块添加到
src/build_tools.rs,在src/build_tools/以下创建一个文件。 - 在
src/build_tool_manager.rs中将register调用添加到BuildToolManager::default。 - 将模块和初始化函数添加到
tests/util/和tests/tests/build_tools.rs中的tools数组。
许可证
MIT。任何贡献都被假定为 MIT 许可。
依赖关系
~24–37MB
~679K SLoC