dev-cmd/bump: add --no-auto flag
I do not like that `brew bump` command checks every single formula/cask, even ones updated by BrewTestBot. Instead of showing useful info about outdated packages, my terminal buffer is fludded with `Formula is autobumped so will have bump PRs opened by BrewTestBot every ~3 hours`. This flag excludes autobumped packages before checking them. Signed-off-by: botantony <antonsm21@gmail.com>
This commit is contained in:
parent
c7634843d7
commit
e3875f790e
@ -33,6 +33,8 @@ module Homebrew
|
||||
switch "--auto",
|
||||
description: "Read the list of formulae/casks from the tap autobump list.",
|
||||
hidden: true
|
||||
switch "--no-auto",
|
||||
description: "Ignore formulae/casks in autobump list (official repositories only)."
|
||||
switch "--formula", "--formulae",
|
||||
description: "Check only formulae."
|
||||
switch "--cask", "--casks",
|
||||
@ -54,6 +56,7 @@ module Homebrew
|
||||
|
||||
conflicts "--cask", "--formula"
|
||||
conflicts "--tap=", "--installed"
|
||||
conflicts "--tap=", "--no-auto"
|
||||
conflicts "--eval-all", "--installed"
|
||||
conflicts "--installed", "--auto"
|
||||
conflicts "--no-pull-requests", "--open-pr"
|
||||
@ -68,6 +71,16 @@ module Homebrew
|
||||
Homebrew.with_no_api_env do
|
||||
eval_all = args.eval_all? || Homebrew::EnvConfig.eval_all?
|
||||
|
||||
excluded_autobump = []
|
||||
if args.no_auto?
|
||||
if eval_all || args.formula?
|
||||
excluded_autobump.concat autobumped_formulae_or_casks Tap.fetch("homebrew/core")
|
||||
end
|
||||
if eval_all || args.cask?
|
||||
excluded_autobump.concat autobumped_formulae_or_casks Tap.fetch("homebrew/cask"), casks: true
|
||||
end
|
||||
end
|
||||
|
||||
formulae_and_casks = if args.auto?
|
||||
raise UsageError, "`--formula` or `--cask` must be passed with `--auto`." if !args.formula? && !args.cask?
|
||||
|
||||
@ -119,6 +132,8 @@ module Homebrew
|
||||
formula_or_cask.respond_to?(:token) ? formula_or_cask.token : formula_or_cask.name
|
||||
end
|
||||
|
||||
formulae_and_casks.delete_if { |f_or_c| excluded_autobump.include?(f_or_c) }
|
||||
|
||||
if args.repology? && !Utils::Curl.curl_supports_tls13?
|
||||
begin
|
||||
ensure_formula_installed!("curl", reason: "Repology queries") unless HOMEBREW_BREWED_CURL_PATH.exist?
|
||||
@ -541,6 +556,17 @@ module Homebrew
|
||||
|
||||
synced_with
|
||||
end
|
||||
|
||||
sig { params(tap: Tap, casks: T::Boolean).returns(T::Array[T.any(Formula, Cask::Cask)]) }
|
||||
def autobumped_formulae_or_casks(tap, casks: false)
|
||||
autobump_list = tap.autobump
|
||||
autobump_list.map do |name|
|
||||
qualified_name = "#{tap.name}/#{name}"
|
||||
next Cask::CaskLoader.load(qualified_name) if casks
|
||||
|
||||
Formulary.factory(qualified_name)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -14,6 +14,12 @@ class Homebrew::DevCmd::Bump::Args < Homebrew::CLI::Args
|
||||
sig { returns(T::Boolean) }
|
||||
def auto?; end
|
||||
|
||||
# `/opt/homebrew/Library/Homebrew/vendor/bundle/ruby/3.3.0/bin/tapioca dsl Homebrew::DevCmd::Bump`
|
||||
# didn't work for me for some reason, adding `no_auto?` flag manually.
|
||||
# If you can help me with fixing the issue or `tapioca` runs perfectly, please, override this
|
||||
sig { returns(T::Boolean) }
|
||||
def no_auto?; end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def cask?; end
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user