From f66c3016f31c0b0b5fde7866e51f77cb211e4218 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Wed, 7 Aug 2024 23:39:04 +1000 Subject: [PATCH] Update doc Signed-off-by: Jiahao XU --- SUPPORT.md | 7 ++++++- crates/bin/src/args.rs | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/SUPPORT.md b/SUPPORT.md index 3ca7d5b4..090e463a 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -13,6 +13,7 @@ As an example, the configuration would be like this: pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }-v{ version }{ archive-suffix }" bin-dir = "{ name }-{ target }-v{ version }/{ bin }{ binary-ext }" pkg-fmt = "tgz" +disabled-strategies = ["quick-install", "compile"] ``` With the following configuration keys: @@ -20,7 +21,11 @@ With the following configuration keys: - `pkg-url` specifies the package download URL for a given target/version, templated - `bin-dir` specifies the binary path within the package, templated (with an `.exe` suffix on windows) - `pkg-fmt` overrides the package format for download/extraction (defaults to: `tgz`) -- `disabled-strategies` to disable specific strategies (e.g. `crate-meta-data` for trying to find pre-built on your repository, `quick-install` for pre-built from third-party cargo-bins/cargo-quickinstall, `compile` for falling back to `cargo-install`) for your crate (defaults to empty array). The user can override this by explicitly specifying --strategies on the command line. +- `disabled-strategies` to disable specific strategies (e.g. `crate-meta-data` for trying to find pre-built on your repository, + `quick-install` for pre-built from third-party cargo-bins/cargo-quickinstall, `compile` for falling back to `cargo-install`) + for your crate (defaults to empty array). + If `--strategies` is passed on the command line, then the `disabled-strategies` in `package.metadata` will be ignored. + Otherwise, the `disabled-strategies` in `package.metadata` and `--disable-strategies` will be merged. `pkg-url` and `bin-dir` are templated to support different names for different versions / architectures / etc. diff --git a/crates/bin/src/args.rs b/crates/bin/src/args.rs index a29b95b9..c8e3eaf8 100644 --- a/crates/bin/src/args.rs +++ b/crates/bin/src/args.rs @@ -155,6 +155,10 @@ pub struct Args { /// Specify the strategies to be used, /// binstall will run the strategies specified in order. /// + /// If this option is specified, then cargo-binstall will ignore + /// `disabled-strategies` in `package.metadata` in the cargo manifest + /// of the installed packages. + /// /// Default value is "crate-meta-data,quick-install,compile". #[clap( help_heading = "Overrides", @@ -167,6 +171,10 @@ pub struct Args { /// Disable the strategies specified. /// If a strategy is specified in `--strategies` and `--disable-strategies`, /// then it will be removed. + /// + /// If `--strategies` is not specified, then the strategies specified in this + /// option will be merged with the disabled-strategies` in `package.metadata` + /// in the cargo manifest of the installed packages. #[clap( help_heading = "Overrides", long,