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次下载

MIT/Apache

7.5MB
869

ocy – 项目清理器

一个用Rust编写的简单、临时的构建文件清理CLI应用程序。

附录

OcyOcypode cordimanus的简称,即光滑手蟹。就像所有Ocypode属的蟹一样,它的一只螯比另一只大(就像在横幅上一样)。

虽然它很可爱,但ocy是一个食腐者——它会清理你的废弃字节。

BBayCrab2

安装

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