Build and run

cargo make

cargo-make cargo-make-crates.io cargo-make-github cargo-make-lib.rs cat-development-tools::testing cat-development-tools cat-command-line-utilities cat-development-tools::cargo-plugins cat-development-tools::build-utils

Rust task runner and build tool. The cargo-make task runner enables to define and configure sets of tasks and run them as a flow. A task is a command, script, rust code, or other sub tasks to execute. Tasks can have dependencies which are also tasks that will be executed before the task itself. With a simple toml based configuration file, you can define a multi platform build script that can run build, test, generate documentation, run bench tests, run security validations and more, executed by running a single command.

Install with

cargo install --force cargo-make
cargo make --version

automating-your-rust-workflows-with-cargo-make

cargo xtask

cargo-xtask cargo-xtask-crates.io cargo-xtask-github cargo-xtask-lib.rs

cargo-xtask⮳ adds free-form automation to a Rust project, a-la makenpm run or bespoke bash scripts.

The two distinguishing features of xtask are the following:

  • It doesn't require any other binaries besides cargo and rustc, it fully bootstraps from them
  • Unlike bash, it can more easily be cross platform, as it doesn't use the shell.

Use devx

devx-cmd devx-cmd-crates.io devx-cmd-github devx-cmd-lib.rs devx-pre-commit devx-pre-commit-crates.io devx-pre-commit-github devx-pre-commit-lib.rs cat-development-tools

devx⮳ is a collection of utilities for writing your own dev scripts in Rust. The project is inspired by and intended for seamless usage with cargo-xtask⮳ idioms.

devx-cmd provides primitives for spawning child processes that are easier than std::process targeted when used in development scripts. devx-pre-commit creates git pre-commit hooks that enforce good practices.

Make Rust a better bash with xshell

xshell xshell-crates.io xshell-github xshell-lib.rs

xshell provides a set of cross-platform utilities for writing cross-platform and ergonomic "bash" scripts.