aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorMax Howell2010-11-05 13:44:24 +0000
committerAdam Vandenberg2011-03-12 11:55:03 -0800
commit55bd25ff4c270d6146a1df9409ec9c35f76e2fac (patch)
tree781be709c9771079c72eb08c3d8723d9732cea26 /Library/Homebrew
parentc1a3b724fd2814a6f493d9d664df6a6dd788f335 (diff)
downloadbrew-55bd25ff4c270d6146a1df9409ec9c35f76e2fac.tar.bz2
Formula.resolve_alias to compatability.rb
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/compatibility.rb17
-rw-r--r--Library/Homebrew/extend/ARGV.rb4
-rw-r--r--Library/Homebrew/formula.rb17
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