cargo-cmd
cargo-cmd copied to clipboard
Like npm scripts, but for cargo
cargo-cmd
Alias any shell command in your Cargo.toml. It's like npm scripts, but for cargo.
Installation
cargo install cargo-cmd
Usage
You can define your commands in Cargo.toml under the [package.metadata.commands] table, like so:
[package.metadata.commands]
greet = "echo 'Hello, planet!'"
Now you can run cargo cmd greet:
$ cargo cmd greet
> echo 'Hello, planet!'
Hello, planet!
Advanced use
Passing arguments
It's possible to pass arguments into your command by passing them directly to cargo cmd.
[package.metadata.commands]
echo = "echo"
$ cargo cmd echo 'Hello, planet!'
> echo 'Hello, planet!'
Hello, planet!
Pre and Post commands
You are able to set up commands to run before and after your command by prefixing the name with pre or post respectively.
[package.metadata.commands]
pretest = "./setup.sh"
test = "cargo test"
posttest = "./teardown.sh"
$ cargo cmd test
[pretest]
> ./setup.sh
Setting up DB...
[test]
> cargo test
...
[posttest]
> ./teardown.sh
Tearing down DB...
License
MIT © Dan Reeves