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开发工具

Download history 566/week @ 2024-03-13 600/week @ 2024-03-20 471/week @ 2024-03-27 481/week @ 2024-04-03 679/week @ 2024-04-10 369/week @ 2024-04-17 850/week @ 2024-04-24 861/week @ 2024-05-01 618/week @ 2024-05-08 548/week @ 2024-05-15 407/week @ 2024-05-22 562/week @ 2024-05-29 667/week @ 2024-06-05 470/week @ 2024-06-12 244/week @ 2024-06-19 269/week @ 2024-06-26

每月下载量 1,784
用于 lintd-taskops

Apache-2.0 许可证

15KB
275

xtaskops

github crates.io docs.rs build status

这是一个 Rust 库,为使用 xtask 概念提供了一些实用工具。

依赖项

[dependencies]
xtaskops = "0.4.0"

查看最新版本请访问 crates.io

用法

您应该已经为您的项目设置了 xtask 概念。

可用任务

日常开发的全工作流任务。

  • 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"

版权

版权所有(c)2022 @jondot。有关更多详细信息,请参阅 LICENSE

依赖项

~4–12MB
~127K SLoC