2 unstable releases

0.2.0 Feb 2, 2024
0.1.0 Nov 1, 2018

#251 in Cargo plugins

Download history 72/week @ 2024-07-22 39/week @ 2024-07-29 29/week @ 2024-08-05 35/week @ 2024-08-12 13/week @ 2024-08-19 86/week @ 2024-08-26 40/week @ 2024-09-02 34/week @ 2024-09-09 23/week @ 2024-09-16 63/week @ 2024-09-23 47/week @ 2024-09-30 73/week @ 2024-10-07 44/week @ 2024-10-14 63/week @ 2024-10-21 24/week @ 2024-10-28 49/week @ 2024-11-04

183 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–1MB
~24K SLoC