5 个版本
使用旧的 Rust 2015
0.0.5 | 2018年11月2日 |
---|---|
0.0.4 | 2018年11月1日 |
0.0.3 | 2018年10月31日 |
0.0.2 | 2018年10月30日 |
0.0.1 | 2018年10月30日 |
#504 在 Cargo 插件
18KB
388 行
cargo-version-sync
Cargo 子命令,用于保持与 Cargo.toml
中的版本号同步
状态
实验性
安装
$ cargo install cargo-version-sync
使用
首先,在 Cargo.toml
中添加字段,指定要重写版本号的文件,通过运行 cargo version-sync
[[package.metadata.version-sync.replacements]]
file = "README.md"
replacers = [
{ type = "builtin", target = "markdown" },
{ type = "regex", search = "https://deps.rs/crate/{{name}}/[a-z0-9\\.-]+", replace = "https://deps.rs/crate/{{name}}/{{version}}" },
]
[[package.metadata.version-sync.replacements]]
file = "src/lib.rs"
replacers = [
{ type = "builtin", target = "html-root-url" },
]
然后运行命令 cargo version-sync
来重写版本号
$ cargo version-sync
使用预设
您可以通过设置 use-preset
键来使用预设替换器。
[package.metadata.version-sync]
use-preset = true
目前,已为以下文件注册了替换器
文件= "README.md"
{ 类型 = "内建",目标= "markdown" }
{ 类型 = "正则表达式",搜索= "https://deps.rs/crate/{{name}}/[0-9a-z\\.-]+",替换= "https://deps.rs/crate/{{name}}/{{version}}" }
文件= "src/lib.rs"
{ 类型 = "内建",目标= "html-root-url" }
集成测试
cargo-version-sync
也可以用作集成测试中使用的库。首先,将依赖添加到 [dev-dependencies]
的成员中
[dev-dependencies]
cargo-version-sync = { version = "0.0.2", default-features = false }
然后,在您的集成测试中添加以下测试用例
extern crate cargo_version_sync;
#[test]
fn test_version_sync() {
cargo_version_sync::assert_version_sync();
}
当有一些文件未更新版本号时,集成测试将失败,如下所示
$ cargo test
...
running 1 test
test test_version_sync ... FAILED
failures:
---- test_version_sync stdout ----
The version number(s) are not synced in the following files:
- README.md
...
替代方案
许可证
依赖
~3.5–5.5MB
~100K SLoC