readall: use Tap object to locate alias directory

Let's hide implementation detail on where to find alias directory.
This will benefit future core code and formulae separation.

Also let `brew readall` check aliases for all taps.
This commit is contained in:
Xu Cheng 2015-12-19 18:47:20 +08:00
parent 430cfbb557
commit f72d4f1722

View File

@ -33,22 +33,29 @@ module Homebrew
Homebrew.failed = failed
end
if ARGV.delete("--aliases")
Pathname.glob("#{HOMEBREW_LIBRARY}/Aliases/*").each do |f|
next unless f.symlink?
next if f.file?
onoe "Broken alias: #{f}"
Homebrew.failed = true
end
end
formulae = []
alias_dirs = []
if ARGV.named.empty?
formulae = Formula.files
alias_dirs = Tap.map(&:alias_dir)
alias_dirs.unshift CoreFormulaRepository.instance.alias_dir
else
tap = Tap.fetch(ARGV.named.first)
raise TapUnavailableError, tap.name unless tap.installed?
formulae = tap.formula_files
alias_dirs = [tap.alias_dir]
end
if ARGV.delete("--aliases")
alias_dirs.each do |alias_dir|
next unless alias_dir.directory?
Pathname.glob("#{alias_dir}/*").each do |f|
next unless f.symlink?
next if f.file?
onoe "Broken alias: #{f}"
Homebrew.failed = true
end
end
end
formulae.each do |file|