Make Tap::each
respect the API.
This commit is contained in:
parent
3d3f0696b1
commit
ab27efbd9d
@ -55,8 +55,10 @@ module Homebrew
|
||||
args = tap_args.parse
|
||||
|
||||
if args.repair?
|
||||
Tap.each(&:link_completions_and_manpages)
|
||||
Tap.each(&:fix_remote_configuration)
|
||||
Tap.select(&:installed?).each do |tap|
|
||||
tap.link_completions_and_manpages
|
||||
tap.fix_remote_configuration
|
||||
end
|
||||
elsif args.no_named?
|
||||
puts Tap.names
|
||||
else
|
||||
|
@ -146,7 +146,7 @@ module Homebrew
|
||||
hub = ReporterHub.new
|
||||
|
||||
updated_taps = []
|
||||
Tap.each do |tap|
|
||||
Tap.select(&:installed?).each do |tap|
|
||||
next if !tap.git? || tap.git_repo.origin_url.nil?
|
||||
next if (tap.core_tap? || tap.core_cask_tap?) && !Homebrew::EnvConfig.no_install_from_api?
|
||||
|
||||
@ -254,7 +254,7 @@ module Homebrew
|
||||
|
||||
Commands.rebuild_commands_completion_list
|
||||
link_completions_manpages_and_docs
|
||||
Tap.each(&:link_completions_and_manpages)
|
||||
Tap.select(&:installed?).each(&:link_completions_and_manpages)
|
||||
|
||||
failed_fetch_dirs = ENV["HOMEBREW_MISSING_REMOTE_REF_DIRS"]&.split("\n")
|
||||
if failed_fetch_dirs.present?
|
||||
|
@ -72,7 +72,7 @@ module Homebrew
|
||||
sig { void }
|
||||
def self.link!
|
||||
Settings.write :linkcompletions, true
|
||||
Tap.each do |tap|
|
||||
Tap.select(&:installed?).each do |tap|
|
||||
Utils::Link.link_completions tap.path, "brew completions link"
|
||||
end
|
||||
end
|
||||
@ -80,7 +80,7 @@ module Homebrew
|
||||
sig { void }
|
||||
def self.unlink!
|
||||
Settings.write :linkcompletions, false
|
||||
Tap.each do |tap|
|
||||
Tap.select(&:installed?).each do |tap|
|
||||
next if tap.official?
|
||||
|
||||
Utils::Link.unlink_completions tap.path
|
||||
@ -94,7 +94,7 @@ module Homebrew
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def self.completions_to_link?
|
||||
Tap.each do |tap|
|
||||
Tap.select(&:installed?).each do |tap|
|
||||
next if tap.official?
|
||||
|
||||
SHELLS.each do |shell|
|
||||
|
@ -189,7 +189,7 @@ module Homebrew
|
||||
|
||||
# Run tap audits first
|
||||
named_arg_taps = [*audit_formulae, *audit_casks].map(&:tap).uniq if !args.tap && !no_named_args
|
||||
tap_problems = Tap.each_with_object({}) do |tap, problems|
|
||||
tap_problems = Tap.select(&:installed?).each_with_object({}) do |tap, problems|
|
||||
next if args.tap && tap != args.tap
|
||||
next if named_arg_taps&.exclude?(tap)
|
||||
|
||||
|
@ -545,7 +545,7 @@ module Homebrew
|
||||
return if ENV["CI"]
|
||||
return unless Utils::Git.available?
|
||||
|
||||
commands = Tap.map do |tap|
|
||||
commands = Tap.select(&:installed?).map do |tap|
|
||||
next if tap.git_repo.default_origin_branch?
|
||||
|
||||
"git -C $(brew --repo #{tap.name}) checkout #{tap.git_repo.origin_branch_name}"
|
||||
@ -795,7 +795,7 @@ module Homebrew
|
||||
|
||||
def check_for_tap_ruby_files_locations
|
||||
bad_tap_files = {}
|
||||
Tap.each do |tap|
|
||||
Tap.select(&:installed?).each do |tap|
|
||||
unused_formula_dirs = tap.potential_formula_dirs - [tap.formula_dir]
|
||||
unused_formula_dirs.each do |dir|
|
||||
next unless dir.exist?
|
||||
|
@ -1025,7 +1025,7 @@ module Formulary
|
||||
|
||||
def self.tap_paths(name)
|
||||
name = name.to_s.downcase
|
||||
Tap.map do |tap|
|
||||
Tap.select(&:installed?).map do |tap|
|
||||
formula_path = find_formula_in_tap(name, tap)
|
||||
|
||||
alias_path = tap.alias_dir/name
|
||||
|
@ -842,15 +842,25 @@ class Tap
|
||||
end
|
||||
|
||||
def self.each(&block)
|
||||
return unless TAP_DIRECTORY.directory?
|
||||
|
||||
return to_enum unless block
|
||||
|
||||
TAP_DIRECTORY.subdirs.each do |user|
|
||||
user.subdirs.each do |repo|
|
||||
yield fetch(user.basename.to_s, repo.basename.to_s)
|
||||
end
|
||||
installed_taps = if TAP_DIRECTORY.directory?
|
||||
TAP_DIRECTORY.subdirs
|
||||
.flat_map(&:subdirs)
|
||||
.map(&method(:from_path))
|
||||
else
|
||||
[]
|
||||
end
|
||||
|
||||
available_taps = if Homebrew::EnvConfig.no_install_from_api?
|
||||
installed_taps
|
||||
else
|
||||
default_taps = T.let([CoreTap.instance], T::Array[Tap])
|
||||
default_taps << CoreCaskTap.instance if OS.mac? # rubocop:disable Homebrew/MoveToExtendOS
|
||||
installed_taps + default_taps
|
||||
end.sort_by(&:name).uniq
|
||||
|
||||
available_taps.each(&block)
|
||||
end
|
||||
|
||||
# An array of all installed {Tap} names.
|
||||
|
Loading…
x
Reference in New Issue
Block a user