Crate nih_plug_xtask
source ·Enums
- The type of a MacOS bundle.
- The target we’re generating a plugin for. This can be either the native target or a cross compilation target, so to reduce redundancy when determining the correct bundle paths we’ll use an enum for this.
Functions
- Build one or more packages using the provided
cargo build
arguments. This should be called before callingbundle()
. This requires the current working directory to have been set to the workspace’s root usingchdir_workspace_root()
. - Bundle a package that was previously built by a call to
build()
using the providedcargo build
arguments. These two functions are split up because building can be done in parallel by Cargo itself while bundling is sequential. Options from thebundler.toml
file in the workspace’s root are respected (see https://github.com/robbert-vdh/nih-plug/blob/master/bundler.toml). This requires the current working directory to have been set to the workspace’s root usingchdir_workspace_root()
. - Change the current directory into the Cargo workspace’s root.
- This lists the packages configured in
bundler.toml
. This is only used as part of the CI when bundling plugins. - The main xtask entry point function. See the readme for instructions on how to use this.
- The main xtask entry point function, but with custom command line arguments.
args
should not contain the command name, so you should always skip at least one argument fromstd::env::args()
before passing it to this function. - If compiling for macOS, try to self-sign the bundle at the given path. This shouldn’t be necessary, but AArch64 macOS is stricter about these things and sometimes self built plugins may not load otherwise. Presumably in combination with hardened runtimes.
- If compiling for macOS, create all of the bundl-y stuff Steinberg and Apple require you to have.
Type Definitions
- Re-export for the main function.
Result<T, Error>