diff --git a/Library/Homebrew/cask/cask.rb b/Library/Homebrew/cask/cask.rb index 2ebf119e60..9a61984df7 100644 --- a/Library/Homebrew/cask/cask.rb +++ b/Library/Homebrew/cask/cask.rb @@ -24,14 +24,16 @@ module Cask attr_predicate :loaded_from_api? # @api private - def self.all - # TODO: replace this ARGV and ENV logic with an argument, like how we do with formulae - if ARGV.exclude?("--eval-all") && !Homebrew::EnvConfig.eval_all? + def self.all(eval_all: false) + if !eval_all && !Homebrew::EnvConfig.eval_all? raise ArgumentError, "Cask::Cask#all cannot be used without --eval-all or HOMEBREW_EVAL_ALL" end - Tap.flat_map(&:cask_files).map do |f| - CaskLoader::FromTapPathLoader.new(f).load(config: nil) + # Load core casks from tokens so they load from the API when the core cask is not tapped. + tokens_and_files = CoreCaskTap.instance.cask_tokens + tokens_and_files += Tap.reject(&:core_cask_tap?).flat_map(&:cask_files) + tokens_and_files.map do |token_or_file| + CaskLoader.load(token_or_file) rescue CaskUnreadableError => e opoo e.message diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb index dc138a9267..a6d8c9724c 100644 --- a/Library/Homebrew/cmd/deps.rb +++ b/Library/Homebrew/cmd/deps.rb @@ -131,8 +131,9 @@ module Homebrew puts_deps_tree dependents, recursive: recursive, args: args return elsif all - puts_deps sorted_dependents(Formula.all(eval_all: args.eval_all?) + Cask::Cask.all), recursive: recursive, - args: args + puts_deps sorted_dependents( + Formula.all(eval_all: args.eval_all?) + Cask::Cask.all(eval_all: args.eval_all?), + ), recursive: recursive, args: args return elsif !args.no_named? && args.for_each? puts_deps sorted_dependents(args.named.to_formulae_and_casks), recursive: recursive, args: args diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb index 705790a8b3..d52fe812b7 100644 --- a/Library/Homebrew/cmd/info.rb +++ b/Library/Homebrew/cmd/info.rb @@ -207,7 +207,10 @@ module Homebrew end when :v2 formulae, casks = if all - [Formula.all(eval_all: args.eval_all?).sort, Cask::Cask.all.sort_by(&:full_name)] + [ + Formula.all(eval_all: args.eval_all?).sort, + Cask::Cask.all(eval_all: args.eval_all?).sort_by(&:full_name), + ] elsif args.installed? [Formula.installed.sort, Cask::Caskroom.casks.sort_by(&:full_name)] else diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb index 21635d9df2..d7d2e72b3d 100644 --- a/Library/Homebrew/cmd/uses.rb +++ b/Library/Homebrew/cmd/uses.rb @@ -119,7 +119,7 @@ module Homebrew deps += args.installed? ? Formula.installed : Formula.all(eval_all: args.eval_all?) end if show_formulae_and_casks || args.cask? - deps += args.installed? ? Cask::Caskroom.casks : Cask::Cask.all + deps += args.installed? ? Cask::Caskroom.casks : Cask::Cask.all(eval_all: args.eval_all?) end if args.missing? diff --git a/Library/Homebrew/description_cache_store.rb b/Library/Homebrew/description_cache_store.rb index bcc6ddbc98..f882e6f67c 100644 --- a/Library/Homebrew/description_cache_store.rb +++ b/Library/Homebrew/description_cache_store.rb @@ -100,7 +100,8 @@ class CaskDescriptionCacheStore < DescriptionCacheStore return unless eval_all return unless database.empty? - Cask::Cask.all.each { |c| update!(c.full_name, [c.name.join(", "), c.desc.presence]) } + Cask::Cask.all(eval_all: eval_all) + .each { |c| update!(c.full_name, [c.name.join(", "), c.desc.presence]) } end # Use an update report to update the {CaskDescriptionCacheStore}. diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index b6c46b5d26..af5449a8e1 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -145,7 +145,10 @@ module Homebrew "brew audit --eval-all or HOMEBREW_EVAL_ALL" end no_named_args = true - [Formula.all(eval_all: args.eval_all?), Cask::Cask.all] + [ + Formula.all(eval_all: args.eval_all?), + Cask::Cask.all(eval_all: args.eval_all?), + ] else if args.named.any? { |named_arg| named_arg.end_with?(".rb") } # This odisabled should probably stick around indefinitely, diff --git a/Library/Homebrew/dev-cmd/livecheck.rb b/Library/Homebrew/dev-cmd/livecheck.rb index 557804fed9..c63d132b85 100644 --- a/Library/Homebrew/dev-cmd/livecheck.rb +++ b/Library/Homebrew/dev-cmd/livecheck.rb @@ -87,7 +87,7 @@ module Homebrew formulae + casks elsif all formulae = args.cask? ? [] : Formula.all(eval_all: args.eval_all?) - casks = args.formula? ? [] : Cask::Cask.all + casks = args.formula? ? [] : Cask::Cask.all(eval_all: args.eval_all?) formulae + casks elsif args.named.present? if args.formula?