1
0
Fork 0
nih-plug/nih_plug_xtask
Robbert van der Helm 8e0597b780 Move the xtask binary to a library
So you can use it in your own projects with minimal copying and pasting.
2022-03-02 10:02:03 +01:00
..
src Move the xtask binary to a library 2022-03-02 10:02:03 +01:00
Cargo.toml Move the xtask binary to a library 2022-03-02 10:02:03 +01:00
README.md Move the xtask binary to a library 2022-03-02 10:02:03 +01:00

NIH-plug: bundler and other utilities

This is NIH-plug's cargo xtask command, but as a library. This way you can use it in your own projects without forking this repo or copying the binary into your own repo. This is necessary until Cargo supports running binaries from dependencies directly.

To use this, add an xtask binary to your project using cargo new --bin xtask and add it to the Cargo workspace in your repository's main Cargo.toml file:

# Cargo.toml

[workspace]
members = ["xtask"]

Then add nih_plug_xtask to your new xtask package's dependencies:

# xtask/Cargo.toml

[dependencies]
nih_plug_xtask = { git = "https://github.com/robbert-vdh/nih-plug" }

Call nih_plug_xtask's main function own xtask binary:

# xtask/src/main.rs

fn main() -> nih_plug_xtask::Result<()> {
    nih_plug_xtask::main()
}

And finally create a .cargo/config file in your repository and add a Cargo alias so you can invoke the binary with cargo xtask:

# .cargo/config

[alias]
xtask = "run --package xtask --release --"