From 84ec42f31ba5a11fab7c673cd6f867c787ee7c69 Mon Sep 17 00:00:00 2001 From: hyuraku <32809703+hyuraku@users.noreply.github.com> Date: Thu, 4 Aug 2022 22:34:16 +0900 Subject: [PATCH 1/4] check whether token is multiple tap's name --- Library/Homebrew/cask/cask_loader.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/cask/cask_loader.rb b/Library/Homebrew/cask/cask_loader.rb index 8049077ee6..63d4f83367 100644 --- a/Library/Homebrew/cask/cask_loader.rb +++ b/Library/Homebrew/cask/cask_loader.rb @@ -236,7 +236,9 @@ module Cask when 2..Float::INFINITY loaders = possible_tap_casks.map(&FromTapPathLoader.method(:new)) - raise TapCaskAmbiguityError.new(ref, loaders) + raise TapCaskAmbiguityError.new(ref, loaders) if loaders.map(&:tap).map(&:name).size == 1 + + return FromTapPathLoader.new(possible_tap_casks.first) end possible_installed_cask = Cask.new(ref) From a43633e0948dbbb1fceeebcad965c7ccbdc498cb Mon Sep 17 00:00:00 2001 From: hyuraku <32809703+hyuraku@users.noreply.github.com> Date: Fri, 5 Aug 2022 20:59:19 +0900 Subject: [PATCH 2/4] add uniq to check multiple tap --- Library/Homebrew/cask/cask_loader.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Library/Homebrew/cask/cask_loader.rb b/Library/Homebrew/cask/cask_loader.rb index 63d4f83367..cb6aefb10d 100644 --- a/Library/Homebrew/cask/cask_loader.rb +++ b/Library/Homebrew/cask/cask_loader.rb @@ -236,7 +236,7 @@ module Cask when 2..Float::INFINITY loaders = possible_tap_casks.map(&FromTapPathLoader.method(:new)) - raise TapCaskAmbiguityError.new(ref, loaders) if loaders.map(&:tap).map(&:name).size == 1 + raise TapCaskAmbiguityError.new(ref, loaders) if loaders.map(&:tap).map(&:name).uniq.size == 1 return FromTapPathLoader.new(possible_tap_casks.first) end From 0acadc857c7c5999ee89e9b18f5d6cace34a60e4 Mon Sep 17 00:00:00 2001 From: hyuraku <32809703+hyuraku@users.noreply.github.com> Date: Sun, 7 Aug 2022 15:43:51 +0900 Subject: [PATCH 3/4] repair CaskLoader.load args --- Library/Homebrew/cask/cask.rb | 2 +- Library/Homebrew/cask/cask_loader.rb | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/cask/cask.rb b/Library/Homebrew/cask/cask.rb index 955cad92df..6bfc198f74 100644 --- a/Library/Homebrew/cask/cask.rb +++ b/Library/Homebrew/cask/cask.rb @@ -96,7 +96,7 @@ module Cask MacOSVersions::SYMBOLS.each do |os_name, os_version| MacOS.full_version = os_version - cask = CaskLoader.load(token) + cask = CaskLoader.load(full_name) version_os_hash[os_name] = cask.version if cask.version != version end diff --git a/Library/Homebrew/cask/cask_loader.rb b/Library/Homebrew/cask/cask_loader.rb index cb6aefb10d..8049077ee6 100644 --- a/Library/Homebrew/cask/cask_loader.rb +++ b/Library/Homebrew/cask/cask_loader.rb @@ -236,9 +236,7 @@ module Cask when 2..Float::INFINITY loaders = possible_tap_casks.map(&FromTapPathLoader.method(:new)) - raise TapCaskAmbiguityError.new(ref, loaders) if loaders.map(&:tap).map(&:name).uniq.size == 1 - - return FromTapPathLoader.new(possible_tap_casks.first) + raise TapCaskAmbiguityError.new(ref, loaders) end possible_installed_cask = Cask.new(ref) From acf39f8777a825d48b4ca46249c75be13614e2d1 Mon Sep 17 00:00:00 2001 From: hyuraku <32809703+hyuraku@users.noreply.github.com> Date: Mon, 8 Aug 2022 19:58:50 +0900 Subject: [PATCH 4/4] add TODO comment --- Library/Homebrew/cask/cask.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/Library/Homebrew/cask/cask.rb b/Library/Homebrew/cask/cask.rb index 6bfc198f74..d347e27ac3 100644 --- a/Library/Homebrew/cask/cask.rb +++ b/Library/Homebrew/cask/cask.rb @@ -90,6 +90,7 @@ module Cask end def os_versions + # TODO: use #to_hash_with_variations instead once all casks use on_system blocks @os_versions ||= begin version_os_hash = {} actual_version = MacOS.full_version.to_s