diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/formulary.rb | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index 89e3feb74..a21d6e731 100644 --- a/Library/Homebrew/formulary.rb +++ b/Library/Homebrew/formulary.rb @@ -148,7 +148,15 @@ class Formulary @tap = Tap.new user, repo.sub(/^homebrew-/, "") name = @tap.formula_renames.fetch(name, name) path = @tap.formula_files.detect { |file| file.basename(".rb").to_s == name } - path ||= @tap.path/"#{name}.rb" + + unless path + if (possible_alias = @tap.path/"Aliases/#{name}").file? + path = possible_alias.resolved_path + name = path.basename(".rb").to_s + else + path = @tap.path/"#{name}.rb" + end + end super name, path end @@ -279,7 +287,9 @@ class Formulary if possible_tap_formulae.size > 1 raise TapFormulaAmbiguityError.new(ref, possible_tap_formulae) elsif possible_tap_formulae.size == 1 - return FormulaLoader.new(ref, possible_tap_formulae.first) + path = possible_tap_formulae.first.resolved_path + name = path.basename(".rb").to_s + return FormulaLoader.new(name, path) end if newref = FORMULA_RENAMES[ref] @@ -320,7 +330,8 @@ class Formulary Pathname.glob([ "#{tap}Formula/#{name}.rb", "#{tap}HomebrewFormula/#{name}.rb", - "#{tap}#{name}.rb" + "#{tap}#{name}.rb", + "#{tap}Aliases/#{name}", ]).detect(&:file?) end.compact end |
