diff options
| author | Max Howell | 2010-11-05 13:44:24 +0000 |
|---|---|---|
| committer | Adam Vandenberg | 2011-03-12 11:55:03 -0800 |
| commit | 55bd25ff4c270d6146a1df9409ec9c35f76e2fac (patch) | |
| tree | 781be709c9771079c72eb08c3d8723d9732cea26 /Library/Homebrew | |
| parent | c1a3b724fd2814a6f493d9d664df6a6dd788f335 (diff) | |
| download | brew-55bd25ff4c270d6146a1df9409ec9c35f76e2fac.tar.bz2 | |
Formula.resolve_alias to compatability.rb
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/compatibility.rb | 17 | ||||
| -rw-r--r-- | Library/Homebrew/extend/ARGV.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/formula.rb | 17 |
3 files changed, 29 insertions, 9 deletions
diff --git a/Library/Homebrew/compatibility.rb b/Library/Homebrew/compatibility.rb index 52f98416a..e9008045b 100644 --- a/Library/Homebrew/compatibility.rb +++ b/Library/Homebrew/compatibility.rb @@ -45,3 +45,20 @@ def search_brews text require 'cmd/search' Homebrew.search_brews text end + +class Formula + # in compatability because the naming is somewhat confusing + def self.resolve_alias name + opoo 'Formula.resolve_alias is deprecated and will eventually be removed' + + # Don't resolve paths or URLs + return name if name.include?("/") + + aka = HOMEBREW_REPOSITORY/:Library/:Aliases/name + if aka.file? + aka.realpath.basename('.rb').to_s + else + name + end + end +end diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb index 370035ea6..c7195bbcd 100644 --- a/Library/Homebrew/extend/ARGV.rb +++ b/Library/Homebrew/extend/ARGV.rb @@ -9,7 +9,7 @@ module HomebrewArgvExtension def formulae require 'formula' - @formulae ||= downcased_unique_named.map{ |name| Formula.factory(Formula.resolve_alias(name)) } + @formulae ||= downcased_unique_named.map{ |name| Formula.factory name } raise FormulaUnspecifiedError if @formulae.empty? @formulae end @@ -18,7 +18,7 @@ module HomebrewArgvExtension require 'keg' require 'formula' @kegs ||= downcased_unique_named.collect do |name| - d = HOMEBREW_CELLAR/Formula.resolve_alias(name) + d = HOMEBREW_CELLAR/Formula.caniconical_name(name) dirs = d.children.select{ |pn| pn.directory? } rescue [] raise NoSuchKegError.new(name) if not d.directory? or dirs.length == 0 raise MultipleVersionsInstalledError.new(name) if dirs.length > 1 diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 78e438726..48abbba40 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -298,13 +298,16 @@ class Formula Dir["#{HOMEBREW_REPOSITORY}/Library/Aliases/*"].map{ |f| File.basename f }.sort end - def self.resolve_alias name - # Don't resolve paths or URLs - return name if name.include?("/") - - aka = HOMEBREW_REPOSITORY+"Library/Aliases/#{name}" - if aka.file? - aka.realpath.basename('.rb').to_s + def self.caniconical_name name + formula_with_that_name = HOMEBREW_REPOSITORY/"Library/Formula/#{name}.rb" + possible_alias = HOMEBREW_REPOSITORY/"Library/Aliases"/name + if name.include? "/" + # Don't resolve paths or URLs + name + elsif formula_with_that_name.file? and formula_with_that_name.readable? + name + elsif possible_alias.file? + possible_alias.realpath.basename('.rb').to_s else name end |
