From 4cf0f7936806ac52a848f241793599551cae9562 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Tue, 20 Feb 2024 17:59:32 +0100 Subject: [PATCH 1/2] Support `Tap#cask_files` when using API. --- Library/Homebrew/diagnostic.rb | 24 ++++++++---------------- Library/Homebrew/tap.rb | 4 ++-- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb index b039069da9..46ebc302e9 100644 --- a/Library/Homebrew/diagnostic.rb +++ b/Library/Homebrew/diagnostic.rb @@ -936,25 +936,17 @@ module Homebrew end def check_cask_taps - default_cask_tap = CoreCaskTap.instance - taps = Tap.select { |t| t.cask_dir.exist? && t != default_cask_tap } - taps.prepend(default_cask_tap) if EnvConfig.no_install_from_api? - error_tap_paths = [] - add_info "Homebrew Cask Taps:", (taps.map do |tap| - if tap.path.blank? - none_string - else - cask_count = begin - tap.cask_files.count - rescue - error_tap_paths << tap.path - 0 - end - - "#{tap.path} (#{Utils.pluralize("cask", cask_count, include_count: true)})" + add_info "Homebrew Cask Taps:", (Tap.map do |tap| + cask_count = begin + tap.cask_files.count + rescue + error_tap_paths << tap.path + 0 end + + "#{tap.path} (#{Utils.pluralize("cask", cask_count, include_count: true)})" end) taps_string = Utils.pluralize("tap", error_tap_paths.count) diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index b55c274fff..02f27088b7 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -1198,9 +1198,9 @@ class CoreCaskTap < AbstractCoreTap sig { override.returns(T::Array[Pathname]) } def cask_files - return super if Homebrew::EnvConfig.no_install_from_api? || installed? + return super if Homebrew::EnvConfig.no_install_from_api? - raise TapUnavailableError, name + cask_files_by_name.values end sig { override.returns(T::Array[String]) } From 7f5a67917a1f0c02eb02432665106ef2b97fd54c Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Tue, 20 Feb 2024 20:13:03 +0100 Subject: [PATCH 2/2] Ensure `CoreCaskTap` is included in diagnostics. --- Library/Homebrew/diagnostic.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb index 46ebc302e9..e6591bfd64 100644 --- a/Library/Homebrew/diagnostic.rb +++ b/Library/Homebrew/diagnostic.rb @@ -938,7 +938,9 @@ module Homebrew def check_cask_taps error_tap_paths = [] - add_info "Homebrew Cask Taps:", (Tap.map do |tap| + taps = (Tap.to_a + [CoreCaskTap.instance]).uniq + + add_info "Homebrew Cask Taps:", (taps.map do |tap| cask_count = begin tap.cask_files.count rescue