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