2 个版本
0.0.2 | 2024年4月3日 |
---|---|
0.0.1 | 2024年4月1日 |
#188 在 Cargo 插件
每月 61 次下载
23KB
465 行
cargo-goggles
验证您的 Cargo.lock 中注册表 crate 是否可以从 git 仓库重新生成。
此 cargo 子命令分析您的 Cargo.lock 中 crate 的以下属性
Cargo.toml
包含一个指向有效 git 仓库的repository
字段- 对于您使用的每个版本,在发布提交上都有一个有效的 git 标签
- 如果存在,标记提交与
.cargo_vcs_info.json
中的值匹配 - crates.io 发布的内容可以从仓库内的文件重新生成
如何使用它
# Install
cargo install --locked cargo-goggles
# Run it inside your project (must already contain a Cargo.lock file)
cargo goggles
路线图
- 清理大部分代码
- 将其制作成一个合适的库和 CLI
- 支持除 crates.io 之外的其他注册表
- 修复一些缺陷
- 使其在有更改时从先前克隆的仓库中拉取
- 停止依赖
git
CLI - 使其更快
- 使其易于查看 git 仓库内容和注册表内容之间的差异
另请参阅
- Rust: 发布的 crate 是否与上游源代码匹配?(2021-10-03) 以及相应的
crates_io_analyzer
工具。 - https://github.com/link2xt/cargo-repack,一个类似的工具的存档 Python 原型。
- Backdooring Rust crates for fun and profit (2021-11-17) 建议通过供应商依赖和检查 diff 来防止 Git 仓库和 crates.io 不匹配。
许可证
许可协议为以下之一
- Apache许可证,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,将按上述方式双许可,不附加任何额外条款或条件。
依赖项
~7-21MB
~351K SLoC