From 4b2c9e0651f328e5d3dd210d88ca8fd4b252889c Mon Sep 17 00:00:00 2001 From: Nanda H Krishna Date: Sun, 14 Jul 2024 23:11:23 -0400 Subject: [PATCH 1/3] `brew bump`: cleanup and improve `--eval-all` handling --- Library/Homebrew/dev-cmd/bump.rb | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/Library/Homebrew/dev-cmd/bump.rb b/Library/Homebrew/dev-cmd/bump.rb index fddd1bf8e6..5cc1c31321 100644 --- a/Library/Homebrew/dev-cmd/bump.rb +++ b/Library/Homebrew/dev-cmd/bump.rb @@ -46,13 +46,12 @@ module Homebrew description: "Don't try to fork the repository." switch "--open-pr", description: "Open a pull request for the new version if none have been opened yet." - flag "--limit=", - description: "Limit number of package results returned." flag "--start-with=", description: "Letter or word that the list of package results should alphabetically follow." conflicts "--cask", "--formula" conflicts "--tap=", "--installed" + conflicts "--eval-all", "--installed" conflicts "--no-pull-requests", "--open-pr" named_args [:formula, :cask], without_api: true @@ -62,11 +61,9 @@ module Homebrew def run Homebrew.install_bundler_gems!(groups: ["livecheck"]) - if args.limit.present? && !args.formula? && !args.cask? - raise UsageError, "`--limit` must be used with either `--formula` or `--cask`." - end - Homebrew.with_no_api_env do + eval_all = args.eval_all? || Homebrew::EnvConfig.eval_all? + formulae_and_casks = if args.tap tap = Tap.fetch(T.must(args.tap)) raise UsageError, "`--tap` cannot be used with official taps." if tap.official? @@ -80,10 +77,12 @@ module Homebrew formulae + casks elsif args.named.present? args.named.to_formulae_and_casks_with_taps - else - formulae = args.cask? ? [] : Formula.all(eval_all: args.eval_all?) - casks = args.formula? ? [] : Cask::Cask.all(eval_all: args.eval_all?) + elsif eval_all + formulae = args.cask? ? [] : Formula.all(eval_all:) + casks = args.formula? ? [] : Cask::Cask.all(eval_all:) formulae + casks + else + raise UsageError, "`brew bump` without named arguments needs `--installed` or `--eval-all` passed or `HOMEBREW_EVAL_ALL` set!" end formulae_and_casks = formulae_and_casks&.sort_by do |formula_or_cask| @@ -98,7 +97,7 @@ module Homebrew end end - handle_formula_and_casks(formulae_and_casks) + handle_formulae_and_casks(formulae_and_casks) end end @@ -113,7 +112,7 @@ module Homebrew end sig { params(formulae_and_casks: T::Array[T.any(Formula, Cask::Cask)]).void } - def handle_formula_and_casks(formulae_and_casks) + def handle_formulae_and_casks(formulae_and_casks) Livecheck.load_other_tap_strategies(formulae_and_casks) ambiguous_casks = [] From 32d1f10fcf4db15eeb2f8243e0d367b6dce2d267 Mon Sep 17 00:00:00 2001 From: Nanda H Krishna Date: Sun, 14 Jul 2024 23:13:59 -0400 Subject: [PATCH 2/3] Fix style issues --- Library/Homebrew/dev-cmd/bump.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/dev-cmd/bump.rb b/Library/Homebrew/dev-cmd/bump.rb index 5cc1c31321..dd3b8109a5 100644 --- a/Library/Homebrew/dev-cmd/bump.rb +++ b/Library/Homebrew/dev-cmd/bump.rb @@ -82,7 +82,9 @@ module Homebrew casks = args.formula? ? [] : Cask::Cask.all(eval_all:) formulae + casks else - raise UsageError, "`brew bump` without named arguments needs `--installed` or `--eval-all` passed or `HOMEBREW_EVAL_ALL` set!" + raise UsageError, + "`brew bump` without named arguments needs `--installed` or `--eval-all` passed or " \ + "`HOMEBREW_EVAL_ALL` set!" end formulae_and_casks = formulae_and_casks&.sort_by do |formula_or_cask| From d20add9786fd683e99b20f38b1d40a27249fa3fc Mon Sep 17 00:00:00 2001 From: Nanda H Krishna Date: Sun, 14 Jul 2024 23:46:17 -0400 Subject: [PATCH 3/3] `brew bump`: more improvements --- Library/Homebrew/dev-cmd/bump.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/dev-cmd/bump.rb b/Library/Homebrew/dev-cmd/bump.rb index dd3b8109a5..86ca3a1433 100644 --- a/Library/Homebrew/dev-cmd/bump.rb +++ b/Library/Homebrew/dev-cmd/bump.rb @@ -22,9 +22,9 @@ module Homebrew cmd_args do description <<~EOS - Display out-of-date brew formulae and the latest version available. If the + Displays out-of-date packages and the latest version available. If the returned current and livecheck versions differ or when querying specific - formulae, also displays whether a pull request has been opened with the URL. + packages, also displays whether a pull request has been opened with the URL. EOS switch "--full-name", description: "Print formulae/casks with fully-qualified names." @@ -87,11 +87,18 @@ module Homebrew "`HOMEBREW_EVAL_ALL` set!" end + if args.start_with + formulae_and_casks.select! do |formula_or_cask| + name = formula_or_cask.respond_to?(:token) ? formula_or_cask.token : formula_or_cask.name + name.start_with?(args.start_with) + end + end + formulae_and_casks = formulae_and_casks&.sort_by do |formula_or_cask| formula_or_cask.respond_to?(:token) ? formula_or_cask.token : formula_or_cask.name end - unless Utils::Curl.curl_supports_tls13? + if args.repology? && !Utils::Curl.curl_supports_tls13? begin ensure_formula_installed!("curl", reason: "Repology queries") unless HOMEBREW_BREWED_CURL_PATH.exist? rescue FormulaUnavailableError