2 unstable releases

0.2.0 Feb 2, 2024
0.1.0 Nov 1, 2018

#143 in Cargo plugins

Download history 49/week @ 2024-01-09 259/week @ 2024-01-16 520/week @ 2024-01-23 533/week @ 2024-01-30 42/week @ 2024-02-06 135/week @ 2024-02-13 81/week @ 2024-02-20 69/week @ 2024-02-27 39/week @ 2024-03-05 84/week @ 2024-03-12 146/week @ 2024-03-19 145/week @ 2024-03-26 250/week @ 2024-04-02 59/week @ 2024-04-09 61/week @ 2024-04-16 42/week @ 2024-04-23

454 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.6–1.2MB
~27K SLoC