2 个版本
0.1.1 | 2021年2月10日 |
---|---|
0.1.0 | 2021年2月10日 |
#8 in #releases
33KB
373 行代码(不含注释)
Manifesta
简介
Rust 编程语言使用确定性版本控制来发布工具链。稳定版本使用 SemVer,而夜间、beta 和历史构建可以通过使用日期构建(YY-MM-DD)来访问。
cargo-msrv 是一个工具,可以用来确定最小支持的 Rust 版本(MSRV)。在 cargo-msrv 中,我首先解析了最新的频道清单,然后减小了次要的 semver 版本。这有很多原因不好
- 除了最新的发布版本,我们只能猜测减小的版本号实际上存在
- 仅支持稳定版本,不支持夜间、beta 或其他频道
- 仅支持 1.x.0 版本
由于上述限制,我决定寻找实际发布的索引。经过一番研究,我发现以下选项
- 使用 AWS 索引(例如
aws --no-sign-request s3 ls static-rust-lang-org/dist/ > dist.txt
)- 速率限制(仅获取索引花费了约 40 秒)
- 来源
- 从单个 发布清单 构建
- 需要解析多个文档
- 新版本发布后约一周延迟
- 还具有更具体的工具链信息
- 来源
- 解析 Rust 仓库中的 RELEASES.md
- 注意:仅支持稳定版本
以上每个选项都需要额外的解析,这就是这个 crate 的用武之地:这个 crate 提供了所有 Rust 发布的索引。它最终将支持这三种选项,但最初,仅支持第二种。
技术选项
- 自带下载工具(计划中,将来将成为 cfg 选项)
- 可选,使用内置下载工具
crate 名称
"manifest" 和 "festa" 的组合,"manifest" 指的是该 crate 从中提取 (meta) 数据的 Rust 发布清单,"festa" 是葡萄牙语中的派对。
依赖
~4–5.5MB
~129K SLoC