2 unstable releases

0.2.0 Feb 2, 2024
0.1.0 Nov 1, 2018

#143 in Cargo plugins

Download history 22/week @ 2023-12-22 178/week @ 2023-12-29 56/week @ 2024-01-05 52/week @ 2024-01-12 573/week @ 2024-01-19 415/week @ 2024-01-26 311/week @ 2024-02-02 127/week @ 2024-02-09 73/week @ 2024-02-16 74/week @ 2024-02-23 55/week @ 2024-03-01 68/week @ 2024-03-08 68/week @ 2024-03-15 169/week @ 2024-03-22 287/week @ 2024-03-29 75/week @ 2024-04-05

620 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
~26K SLoC