8 个不稳定版本 (3 个破坏性更新)
0.4.2 | 2023年5月4日 |
---|---|
0.4.1 | 2022年12月25日 |
0.3.0 | 2022年11月29日 |
0.2.2 | 2022年11月11日 |
0.1.0 | 2022年8月9日 |
#606 在 开发工具 中
每月下载量 1,784
用于 lintd-taskops
15KB
275 行
xtaskops
这是一个 Rust 库,为使用 xtask
概念提供了一些实用工具。
依赖项
[dependencies]
xtaskops = "0.4.0"
查看最新版本请访问 crates.io
用法
您应该已经为您的项目设置了 xtask
概念。
- 要快速开始,您可以使用 这个 Rust CI 快速入门项目
- 要手动设置,请参考这里的仓库。
可用任务
日常开发的全工作流任务。
- bloat_deps 显示发布构建中最大的 crate
- bloat_time 显示 crate 构建时间
- dev 对于每个文件更改,运行
cargo check
然后运行cargo test
- ci 连续运行典型的 CI 任务:fmt、clippy 和测试
- coverage 运行覆盖率
- docs 在监视模式下运行 cargo docs
- install 安装 cargo 工具
- powerset 使用特征幂集进行 CI 构建
以下是如何将 coverage 任务与 clap
集成的示例
use xtaskops::tasks;
// assuming you use `clap`
let res = match matches.subcommand() {
Some(("coverage", sm)) => tasks::coverage(sm.is_present("dev")),
//..
快速入门
您可以将 xtask
中的所有内容包含到您的项目中。在您的 xtask/main.rs
fn main() -> Result<(), anyhow::Error> {
xtaskops::tasks::main()
}
操作
低级便利操作,包括文件系统操作、用户输入等。
use xtaskops::ops::{remove_dir, create_dir_all, cmd};
remove_dir("target")?;
create_dir_all("target")?;
// cmd! is from the `duct` library
cmd!("cargo", "watch", "-s", "cargo doc --no-deps").run()?;
Ok(())
运行任务
运行
$ cargo xtask coverage
建议:将 cargo xtask
别名为 x
# in your zshrc/shell rcfile
alias x="cargo xtask"
版权
依赖项
~4–12MB
~127K SLoC