diff --git a/Library/Homebrew/cask/cmd/upgrade.rb b/Library/Homebrew/cask/cmd/upgrade.rb index ae68121826..89c73dd05f 100644 --- a/Library/Homebrew/cask/cmd/upgrade.rb +++ b/Library/Homebrew/cask/cmd/upgrade.rb @@ -69,7 +69,7 @@ module Cask binaries: T.nilable(T::Boolean), quarantine: T.nilable(T::Boolean), require_sha: T.nilable(T::Boolean), - ).void + ).returns(T::Boolean) end def self.upgrade_casks( *casks, @@ -98,7 +98,7 @@ module Cask end end - return if outdated_casks.empty? + return false if outdated_casks.empty? if casks.empty? && !greedy 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 .map { |(old_cask, new_cask)| "#{new_cask.full_name} #{old_cask.version} -> #{new_cask.version}" } .join("\n") - return if dry_run + return true if dry_run upgradable_casks.each do |(old_cask, new_cask)| upgrade_cask( @@ -127,7 +127,7 @@ module Cask next end - return if caught_exceptions.empty? + return true if caught_exceptions.empty? raise MultipleCaskErrors, caught_exceptions if caught_exceptions.count > 1 raise caught_exceptions.first if caught_exceptions.count == 1 end diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb index 04839b7123..f134f773e8 100644 --- a/Library/Homebrew/cmd/upgrade.rb +++ b/Library/Homebrew/cmd/upgrade.rb @@ -100,16 +100,20 @@ module Homebrew # If one or more formulae are specified, but no casks were # specified, we want to make note of that so we don't # try to upgrade all outdated casks. - upgrade_formulae = formulae.present? && casks.blank? - upgrade_casks = casks.present? && formulae.blank? + only_upgrade_formulae = formulae.present? && casks.blank? + only_upgrade_casks = casks.present? && formulae.blank? - upgrade_outdated_formulae(formulae, args: args) unless upgrade_casks - upgrade_outdated_casks(casks, args: args) unless upgrade_formulae + display_messages = !only_upgrade_casks && upgrade_outdated_formulae(formulae, args: args) + 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 - 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:) - return if args.cask? + return false if args.cask? FormulaInstaller.prevent_build_flags(args) @@ -135,7 +139,7 @@ module Homebrew end end - return if outdated.blank? + return false if outdated.blank? pinned = outdated.select(&:pinned?) outdated -= pinned @@ -172,12 +176,12 @@ module Homebrew Upgrade.check_installed_dependents(formulae_to_install, args: args) - Homebrew.messages.display_messages(display_times: args.display_times?) + true 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:) - return if args.formula? + return false if args.formula? Cask::Cmd::Upgrade.upgrade_casks( *casks, diff --git a/Library/Homebrew/messages.rb b/Library/Homebrew/messages.rb index e212896790..0e6b3164f2 100644 --- a/Library/Homebrew/messages.rb +++ b/Library/Homebrew/messages.rb @@ -24,13 +24,14 @@ class Messages @install_times.push(formula: f.name, time: elapsed_time) end - def display_messages(display_times: false) - display_caveats + def display_messages(force_caveats: false, display_times: false) + display_caveats(force: force_caveats) display_install_times if display_times end - def display_caveats - return if @formula_count <= 1 + def display_caveats(force: false) + return if @formula_count.zero? + return if @formula_count == 1 && !force return if @caveats.empty? oh1 "Caveats"