diff options
| author | Mike McQuaid | 2017-04-22 18:24:22 +0100 |
|---|---|---|
| committer | GitHub | 2017-04-22 18:24:22 +0100 |
| commit | a1b8d4179c9acdd5436bd86cd2f974c54c669696 (patch) | |
| tree | aafb1e80a412bd558b7360abe0b54bcfdbe0a83b /Library | |
| parent | a937ed0a20eed46ceaa55ea1ad5234a63a19232d (diff) | |
| parent | cd5924950e9496987bdd7ef0bf7a8ed47f2553a0 (diff) | |
| download | brew-a1b8d4179c9acdd5436bd86cd2f974c54c669696.tar.bz2 | |
Merge pull request #2108 from MikeMcQuaid/readall-shadowed-aliases
readall: check for shadowed aliases.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/readall.rb | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/Library/Homebrew/readall.rb b/Library/Homebrew/readall.rb index 3dd7075ec..a26a4d60c 100644 --- a/Library/Homebrew/readall.rb +++ b/Library/Homebrew/readall.rb @@ -24,14 +24,21 @@ module Readall !failed end - def valid_aliases?(alias_dirs) + def valid_aliases?(alias_dir, formula_dir) + return false unless alias_dir.directory? + failed = false - alias_dirs.each do |alias_dir| - next unless alias_dir.directory? - alias_dir.children.each do |f| - next unless f.symlink? - next if f.file? - onoe "Broken alias: #{f}" + alias_dir.each_child do |f| + if !f.symlink? + onoe "Non-symlink alias: #{f}" + failed = true + elsif !f.file? + onoe "Non-file alias: #{f}" + failed = true + end + + if (formula_dir/"#{f.basename}.rb").exist? + onoe "Formula duplicating alias: #{f}" failed = true end end @@ -57,7 +64,7 @@ module Readall def valid_tap?(tap, options = {}) failed = false if options[:aliases] - valid_aliases = valid_aliases?([tap.alias_dir]) + valid_aliases = valid_aliases?(tap.alias_dir, tap.formula_dir) failed = true unless valid_aliases end valid_formulae = valid_formulae?(tap.formula_files) |
