diff options
| author | Xu Cheng | 2015-12-19 18:47:20 +0800 |
|---|---|---|
| committer | Xu Cheng | 2015-12-19 22:05:30 +0800 |
| commit | f72d4f17221e2c313e7076ac0b7b79c0a76018dd (patch) | |
| tree | 2294e8003831bb872c3d6147b351d4e0fd11a22f | |
| parent | 430cfbb55729192dc579f333362b490448222ca6 (diff) | |
| download | brew-f72d4f17221e2c313e7076ac0b7b79c0a76018dd.tar.bz2 | |
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.
| -rw-r--r-- | Library/Homebrew/cmd/readall.rb | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/Library/Homebrew/cmd/readall.rb b/Library/Homebrew/cmd/readall.rb index 141523616..4d74a6f41 100644 --- a/Library/Homebrew/cmd/readall.rb +++ b/Library/Homebrew/cmd/readall.rb @@ -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| |
