#semver #change #breaking #versioning #semantic #library

app did_i_break_it

检查您的 https://crates.io 库的逆依赖项与本地版本的工具。

8 个版本 (破坏性)

0.6.0 2021 年 10 月 31 日
0.5.0 2021 年 10 月 31 日
0.4.0 2021 年 10 月 31 日
0.3.0 2021 年 10 月 31 日
0.0.1 2021 年 6 月 10 日

#1551开发工具

每月 27 次下载

AGPL-3.0

47KB
748

Did I Break It

crates.io pipeline status Conventional Commits License: AGPL v3

检查您的 https://crates.io 库的逆依赖项与本地版本的工具。

注意 - 仅支持 Unix 类环境。

待办事项

  • 如果请求失败,启用 API/下载重试。
  • 精简模式,每次清理每个逆依赖项之间的内容。

内容

使用说明

此工具将从 https://crates.io 下载所有逆依赖项,并尝试使用您的库的本地版本进行编译,无论其在 Cargo 清单中指定的版本如何。

这使您能够测试是否意外引入了任何破坏性更改。此外,您还可以估计您可能引入的破坏性更改的影响。

只需将当前目录切换到包含您的库本地副本的目录,并执行 did_i_break_it 二进制文件。如果您不想更改目录,可以使用参数 --local-crate <local-crate> 并提供本地库的路径。

使用说明 - 记录

使用 pretty_env_loggerlog 提供记录功能。可以使用环境变量 RUST_LOG 设置记录级别。有关更多详细文档,请参阅 https://crates.io/crates/pretty_env_logger

通过本地仓库编译

在本地检查代码仓库,切换到仓库目录,然后通过 Cargo 进行构建。使用 --release 标志可以生成优化的二进制文件,但编译时间更长。

git clone [email protected]:DeveloperC/did_i_break_it.git
cd did_i_break_it/
cargo build --release

编译后的二进制文件位于 target/release/did_i_break_it

通过 Cargo 编译

货物是Rust包管理器,install子命令从crates.io获取,然后在本地编译二进制文件,将编译的二进制文件放置在$HOME/.cargo/bin/did_i_break_it

cargo install did_i_break_it

默认情况下,它安装执行时的最新版本。您可以使用--version参数指定要安装的特定版本。对于某些环境,如CICD等,您可能希望锁定版本。

例如:

cargo install did_i_break_it --version 2.0.0

您可以选择指定主版本或次版本,而不是锁定到特定版本。

例如:

cargo install did_i_break_it --version ^2

将下载最新的2.*版本,无论是2.0.7还是2.6.0

单元测试

单元测试套件包含测试crates.io API响应格式解析的测试。Cargo用于设置和运行所有单元测试。

cargo test

问题/功能请求

要报告问题或请求新功能,请使用https://gitlab.com/DeveloperC/did_i_break_it/-/issues

依赖项

约10-23MB
约360K SLoC