From 55bd25ff4c270d6146a1df9409ec9c35f76e2fac Mon Sep 17 00:00:00 2001 From: Max Howell Date: Fri, 5 Nov 2010 13:44:24 +0000 Subject: Formula.resolve_alias to compatability.rb --- Library/Homebrew/compatibility.rb | 17 +++++++++++++++++ Library/Homebrew/extend/ARGV.rb | 4 ++-- Library/Homebrew/formula.rb | 17 ++++++++++------- 3 files changed, 29 insertions(+), 9 deletions(-) (limited to 'Library/Homebrew') 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 -- cgit v1.2.3