2 unstable releases

0.2.0 Feb 2, 2024
0.1.0 Nov 1, 2018

#245 in Cargo plugins

Download history 58/week @ 2024-06-28 33/week @ 2024-07-05 29/week @ 2024-07-12 59/week @ 2024-07-19 49/week @ 2024-07-26 31/week @ 2024-08-02 32/week @ 2024-08-09 20/week @ 2024-08-16 58/week @ 2024-08-23 63/week @ 2024-08-30 36/week @ 2024-09-06 23/week @ 2024-09-13 57/week @ 2024-09-20 51/week @ 2024-09-27 65/week @ 2024-10-04 41/week @ 2024-10-11

219 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
~25K SLoC