Merge pull request #10295 from SeekingMeaning/upgrade-caveats

upgrade: show formula caveats after casks have been updated
This commit is contained in:
Seeker 2021-01-12 08:34:17 -08:00 committed by GitHub
commit dcac52df17
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 18 deletions

View File

@ -69,7 +69,7 @@ module Cask
binaries: T.nilable(T::Boolean), binaries: T.nilable(T::Boolean),
quarantine: T.nilable(T::Boolean), quarantine: T.nilable(T::Boolean),
require_sha: T.nilable(T::Boolean), require_sha: T.nilable(T::Boolean),
).void ).returns(T::Boolean)
end end
def self.upgrade_casks( def self.upgrade_casks(
*casks, *casks,
@ -98,7 +98,7 @@ module Cask
end end
end end
return if outdated_casks.empty? return false if outdated_casks.empty?
if casks.empty? && !greedy if casks.empty? && !greedy
ohai "Casks with `auto_updates` or `version :latest` will not be upgraded; pass `--greedy` to upgrade them." ohai "Casks with `auto_updates` or `version :latest` will not be upgraded; pass `--greedy` to upgrade them."
@ -114,7 +114,7 @@ module Cask
puts upgradable_casks puts upgradable_casks
.map { |(old_cask, new_cask)| "#{new_cask.full_name} #{old_cask.version} -> #{new_cask.version}" } .map { |(old_cask, new_cask)| "#{new_cask.full_name} #{old_cask.version} -> #{new_cask.version}" }
.join("\n") .join("\n")
return if dry_run return true if dry_run
upgradable_casks.each do |(old_cask, new_cask)| upgradable_casks.each do |(old_cask, new_cask)|
upgrade_cask( upgrade_cask(
@ -127,7 +127,7 @@ module Cask
next next
end end
return if caught_exceptions.empty? return true if caught_exceptions.empty?
raise MultipleCaskErrors, caught_exceptions if caught_exceptions.count > 1 raise MultipleCaskErrors, caught_exceptions if caught_exceptions.count > 1
raise caught_exceptions.first if caught_exceptions.count == 1 raise caught_exceptions.first if caught_exceptions.count == 1
end end

View File

@ -100,16 +100,20 @@ module Homebrew
# If one or more formulae are specified, but no casks were # If one or more formulae are specified, but no casks were
# specified, we want to make note of that so we don't # specified, we want to make note of that so we don't
# try to upgrade all outdated casks. # try to upgrade all outdated casks.
upgrade_formulae = formulae.present? && casks.blank? only_upgrade_formulae = formulae.present? && casks.blank?
upgrade_casks = casks.present? && formulae.blank? only_upgrade_casks = casks.present? && formulae.blank?
upgrade_outdated_formulae(formulae, args: args) unless upgrade_casks display_messages = !only_upgrade_casks && upgrade_outdated_formulae(formulae, args: args)
upgrade_outdated_casks(casks, args: args) unless upgrade_formulae force_caveats = !only_upgrade_formulae && upgrade_outdated_casks(casks, args: args)
return unless display_messages
Homebrew.messages.display_messages(force_caveats: force_caveats, display_times: args.display_times?)
end end
sig { params(formulae: T::Array[Formula], args: CLI::Args).void } sig { params(formulae: T::Array[Formula], args: CLI::Args).returns(T::Boolean) }
def upgrade_outdated_formulae(formulae, args:) def upgrade_outdated_formulae(formulae, args:)
return if args.cask? return false if args.cask?
FormulaInstaller.prevent_build_flags(args) FormulaInstaller.prevent_build_flags(args)
@ -135,7 +139,7 @@ module Homebrew
end end
end end
return if outdated.blank? return false if outdated.blank?
pinned = outdated.select(&:pinned?) pinned = outdated.select(&:pinned?)
outdated -= pinned outdated -= pinned
@ -172,12 +176,12 @@ module Homebrew
Upgrade.check_installed_dependents(formulae_to_install, args: args) Upgrade.check_installed_dependents(formulae_to_install, args: args)
Homebrew.messages.display_messages(display_times: args.display_times?) true
end end
sig { params(casks: T::Array[Cask::Cask], args: CLI::Args).void } sig { params(casks: T::Array[Cask::Cask], args: CLI::Args).returns(T::Boolean) }
def upgrade_outdated_casks(casks, args:) def upgrade_outdated_casks(casks, args:)
return if args.formula? return false if args.formula?
Cask::Cmd::Upgrade.upgrade_casks( Cask::Cmd::Upgrade.upgrade_casks(
*casks, *casks,

View File

@ -24,13 +24,14 @@ class Messages
@install_times.push(formula: f.name, time: elapsed_time) @install_times.push(formula: f.name, time: elapsed_time)
end end
def display_messages(display_times: false) def display_messages(force_caveats: false, display_times: false)
display_caveats display_caveats(force: force_caveats)
display_install_times if display_times display_install_times if display_times
end end
def display_caveats def display_caveats(force: false)
return if @formula_count <= 1 return if @formula_count.zero?
return if @formula_count == 1 && !force
return if @caveats.empty? return if @caveats.empty?
oh1 "Caveats" oh1 "Caveats"