2 unstable releases

0.2.0 Feb 2, 2024
0.1.0 Nov 1, 2018

#202 in Cargo plugins

Download history 83/week @ 2024-03-13 180/week @ 2024-03-20 261/week @ 2024-03-27 96/week @ 2024-04-03 76/week @ 2024-04-10 45/week @ 2024-04-17 67/week @ 2024-04-24 72/week @ 2024-05-01 42/week @ 2024-05-08 24/week @ 2024-05-15 35/week @ 2024-05-22 78/week @ 2024-05-29 45/week @ 2024-06-05 40/week @ 2024-06-12 37/week @ 2024-06-19 36/week @ 2024-06-26

171 downloads per month

MIT/Apache

9KB
132 lines

cargo-run-script

cargo-run-script is a Cargo subcommand which allows you to define scripts for common project related tasks within your 'Cargo.toml'. If you are familiar with node, cargo-run-script brings the npm run functionality to the Rust and Cargo ecosystem.

Install

cargo-run-script requires Rust in order to build/install. If you need to install Rust, follow these instructions. Once you have Rust installed, cargo-run-script can be installed by running the command below:

cargo install cargo-run-script

Defining Scripts

Scripts can be defined for workspaces or for single packages by adding the proper section to the Cargo.toml file.

Package Scripts

Scripts are defined by adding a [package.metadata.scripts] section to the Cargo.toml file of your project, as shown below.

[package.metadata.scripts]
hello = "echo Hello"
goodbye = "echo Goodbye"

A more complete example can be seen by reviewing the Cargo.toml for this project.

Workspace Scripts

Scripts are defined by adding a [workspace.metadata.scripts] section to the Cargo.toml file of your workspace, as shown below.

[workspace.metadata.scripts]
hello = "echo Hello"
goodbye = "echo Goodbye"

Running Scripts

From the root of your project directory (at the same level as the Cargo.toml), you can run your scripts as shown below.

# to run a script called "hello"
cargo run-script hello

The output of this would be

Running script 'hello': 'echo Hello'
Hello
Finished, status of exit code: 0

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0.5–1.1MB
~27K SLoC