Merge pull request #19375 from Homebrew/homebrew_upgrade_greedy_casks

Add `HOMEBREW_UPGRADE_GREEDY_CASKS`
This commit is contained in:
Mike McQuaid 2025-02-25 15:46:36 +00:00 committed by GitHub
commit 7c514724af
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 2 deletions

View File

@ -42,9 +42,16 @@ module Cask
greedy = true if Homebrew::EnvConfig.upgrade_greedy?
greedy_casks = if (upgrade_greedy_casks = Homebrew::EnvConfig.upgrade_greedy_casks.presence)
upgrade_greedy_casks.split
else
[]
end
outdated_casks = if casks.empty?
Caskroom.casks(config: Config.from_args(args)).select do |cask|
cask.outdated?(greedy:, greedy_latest:,
cask_greedy = greedy || greedy_casks.include?(cask.token)
cask.outdated?(greedy: cask_greedy, greedy_latest:,
greedy_auto_updates:)
end
else
@ -78,7 +85,7 @@ module Cask
return false if outdated_casks.empty?
if casks.empty? && !greedy
if casks.empty? && !greedy && greedy_casks.empty?
if !greedy_auto_updates && !greedy_latest
ohai "Casks with 'auto_updates true' or 'version :latest' " \
"will not be upgraded; pass `--greedy` to upgrade them."

View File

@ -486,6 +486,10 @@ module Homebrew
description: "If set, pass `--greedy` to all cask upgrade commands.",
boolean: true,
},
HOMEBREW_UPGRADE_GREEDY_CASKS: {
description: "A space-separated list of casks. Homebrew will act as " \
"if `--greedy` was passed when upgrading any cask on this list.",
},
HOMEBREW_VERBOSE: {
description: "If set, always assume `--verbose` when running commands.",
boolean: true,

View File

@ -307,6 +307,9 @@ module Homebrew::EnvConfig
sig { returns(T::Boolean) }
def upgrade_greedy?; end
sig { returns(T.nilable(::String)) }
def upgrade_greedy_casks; end
sig { returns(T::Boolean) }
def verbose?; end