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日 |
#130 在 开发工具
每月 36次下载
7.5MB
869 行
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 | 构建 |
GradleKTS | build.gradle.kts | 构建 |
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。 -
添加用户自定义规则,并支持更多项目或更复杂的规则定义。
依赖关系
~3–11MB
~106K SLoC