From 6e537580988e0b21085533a474199e51a04bfc10 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sat, 4 Jul 2026 14:35:28 +0700 Subject: [PATCH] Implement --all-binaries --- src/bin/repo.rs | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/bin/repo.rs b/src/bin/repo.rs index 7a772c483..7c01c3247 100644 --- a/src/bin/repo.rs +++ b/src/bin/repo.rs @@ -64,6 +64,7 @@ const REPO_HELP_STR: &str = r#" --repo= the "repo" folder, default to $PWD/repo --with-package-deps include package deps (always implied in push command) --all apply to all recipes in + --all-binaries apply to all recipes in that is configured as "binary" --category= apply to all recipes in / --filesystem= override recipes config using installer file --repo-binary override recipes config to use repo_binary @@ -102,6 +103,7 @@ struct CliConfig { with_rollback: bool, with_package_deps: bool, all: bool, + binaries_only: bool, cook: CookConfig, } @@ -201,6 +203,7 @@ impl CliConfig { with_package_deps: false, cook: get_config().cook.clone(), all: false, + binaries_only: false, unset: false, no_metadata: false, filesystem: None, @@ -481,6 +484,11 @@ fn parse_args(args: Vec) -> Result<(CliConfig, CliCommand, Vec config.with_rollback = true, "--unset" => config.unset = true, "--all" => config.all = true, + "--all-binaries" => { + // TODO: an option to just set binaries_only? + config.all = true; + config.binaries_only = true; + } _ => bail_options_err!("Error: Unknown flag: {}", arg), } } @@ -519,8 +527,11 @@ fn parse_args(args: Vec) -> Result<(CliConfig, CliCommand, Vec staged_pkg::list(""), + let all_recipes_path = match command.is_cleaning() || config.category.is_some() { + true => { + // some wip recipes have broken toml + staged_pkg::list("") + } false => { // get the list from repo/TARGET/repo.toml let repo_toml_path = config.repo_dir.join(redoxer::target()).join("repo.toml"); @@ -583,6 +594,7 @@ fn parse_args(args: Vec) -> Result<(CliConfig, CliCommand, Vec) -> Result<(CliConfig, CliCommand, Vec