8个版本
0.1.7 | 2024年2月1日 |
---|---|
0.1.6 | 2023年10月19日 |
0.1.5 | 2021年7月3日 |
0.1.4 | 2021年5月16日 |
0.1.1 | 2021年4月25日 |
#15 in #cleaner
57 每月下载量
用于 ocy
19KB
555 行
ocy
– 项目清理器
一个简单、临时的Rust编写的构建文件清理CLI应用程序。
附录
Ocy
是Ocypode cordimanus的缩写,或称平滑手蟹。就像属Ocypode的所有蟹一样,它的一只爪子比另一只大(就像在横幅上一样)。
尽管它非常可爱,但ocy
是一种杂食动物——它会清理你的死字节。
安装
cargo install ocy
动机
我经常使用多种语言/技术,结果我的小Macbook Pro SSD上会有GB级的临时构建输出。
每个构建/项目系统都有自己存储临时构建文件的习惯(例如,Cargo会使用target
,Gradle会使用build
等),我需要一个快速的工具来安全地清除它们。
-
为什么不使用现有的工具?
我发现的大多数清理/擦除工具似乎都专注于处理单一类型的项目。
-
为什么不使用
bash
?巧妙的bash/find使用可以给你80%的
ocy
功能。然而,如果我们想增加一点安全性,例如通过匹配build
模式来匹配文件夹,可能会有很多误报,并且需要更多的功能,比如显示和汇总文件夹大小。 -
为什么是Rust?
在Rust中编写CLI应用程序很有趣!最终的可执行文件将会非常小(目前大约3.2MB,没有太多时间用于优化)。任何语言都可以完成这个任务。所以这是为了乐趣和学习。
支持的规则
Ocy
基于检测项目的规则的想法。在当前形式中,给出了一个用于检测项目的模式,以及另一个用于删除文件和文件夹的模式。
规则名称 | 项目匹配器 | 要删除的文件 |
---|---|---|
Cargo | Cargo.toml | target |
Gradle | build.gradle | build |
GradleKTS | build.gradle.kts | build |
Flutter | pubspec.yaml | build |
Maven | pom.xml | target |
NodeJS | * | node_modules |
XCode | * | DerivedData |
SBT | build.sbt | target |
SBT | plugins.sbt | target |
用法
Usage: ocy [OPTIONS]
Optional arguments:
-h, --help print help message
-i, --ignores IGNORES ignore this path
-v, --version print version
-a, --all walk into hidden dirs
未来计划
-
制作一个TUI;由于“UI”与清理逻辑(
ocy-core
)解耦,因此应该很容易支持CLI和TUI。 -
增加用户自定义规则,并支持更多项目,相应地支持更复杂的规则定义。
依赖项
~230KB