Skip to content

Hentioe/doer

Repository files navigation

doer

一个命令的管理器、复用器和运行器。

介绍

doer 把一系列命令组织成 KDL 配置结构,用于管理和运行。它以方便、明确的方式编写可复用任务:

tasks {
    test "cargo test --all"
    release {
        - "cargo build --bin {bin} --release"
        arg bin
        dep test
        env {
            RUST_BACKTRACE full
        }
    }
    precommit {
        - "cargo fmt --all -- --check"
        - "cargo clippy --all-targets -- -D warnings"
    }
    prepush {
        dep precommit
        dep test
    }
}

友好和高度一致性的方式调用:

Usage: doer [TASK] [ARGS] [OPTS]...

Available tasks:
  test
  release <bin>
  precommit
  prepush

特点

  • 命令模板支持参数和选项(带默认值的参数):使用相同的插值语法。
  • 用 KDL 格式组织任务:结构清晰,空间利用合理。
  • 支持依赖任务:允许向依赖任务传递参数/选项,支持插值引用参数/选项。
  • 支持环境变量:环境变量值支持插值引用参数/选项。
  • 支持工作目录(cwd):工作目录支持插值引用参数/选项。
  • 支持后台运行依赖任务。
  • 支持指定任务的运行用户。
  • 支持指定任务的 nice 值。

安装

目前您需要从源代码构建安装 doer。

先决条件

确保已安装 Rust 和 Cargo:

$ rustc --version
rustc 1.95.0
$ cargo --version
cargo 1.95.0

过程

克隆本仓库到本地,运行 Cargo 命令:

cargo install --path crates/doer

配置细节

参考博客文章

许可

MIT 许可证。参阅 LICENSE

About

A command manager, reuser, and runner

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages