diff --git a/Library/Homebrew/cask/upgrade.rb b/Library/Homebrew/cask/upgrade.rb index 17c38f43bee6e..41c52954f9960 100644 --- a/Library/Homebrew/cask/upgrade.rb +++ b/Library/Homebrew/cask/upgrade.rb @@ -42,6 +42,8 @@ def self.upgrade_casks( quarantine = true if quarantine.nil? + greedy = true if Homebrew::EnvConfig.upgrade_greedy? + outdated_casks = if casks.empty? Caskroom.casks(config: Config.from_args(args)).select do |cask| cask.outdated?(greedy: greedy, greedy_latest: greedy_latest, diff --git a/Library/Homebrew/env_config.rb b/Library/Homebrew/env_config.rb index 3d0d0db091d42..94a3ca7f96ff2 100644 --- a/Library/Homebrew/env_config.rb +++ b/Library/Homebrew/env_config.rb @@ -344,6 +344,10 @@ module EnvConfig description: "If set, use Pry for the `brew irb` command.", boolean: true, }, + HOMEBREW_UPGRADE_GREEDY: { + description: "If set, pass `--greedy` to all cask upgrade commands.", + boolean: true, + }, HOMEBREW_SIMULATE_MACOS_ON_LINUX: { description: "If set, running Homebrew on Linux will simulate certain macOS code paths. This is useful " \ "when auditing macOS formulae while on Linux.", diff --git a/Library/Homebrew/env_config.rbi b/Library/Homebrew/env_config.rbi index bf67f9c624f5c..f52d381c760ec 100644 --- a/Library/Homebrew/env_config.rbi +++ b/Library/Homebrew/env_config.rbi @@ -229,6 +229,9 @@ module Homebrew::EnvConfig sig { returns(T::Boolean) } def self.update_to_tag?; end + sig { returns(T::Boolean) } + def self.upgrade_greedy?; end + sig { returns(T::Boolean) } def self.verbose?; end