Formulary: use same logic to handle core fully-qualified name

This commit is contained in:
Xu Cheng 2015-12-07 00:04:40 +08:00
parent 061a34b138
commit 6e92609cf4
3 changed files with 2 additions and 12 deletions

View File

@ -14,8 +14,8 @@ module Homebrew
end
ARGV.named.each do |name|
if !File.exist?(name) && (name !~ HOMEBREW_CORE_FORMULA_REGEX) \
&& (name =~ HOMEBREW_TAP_FORMULA_REGEX || name =~ HOMEBREW_CASK_TAP_FORMULA_REGEX)
if !File.exist?(name) &&
(name =~ HOMEBREW_TAP_FORMULA_REGEX || name =~ HOMEBREW_CASK_TAP_FORMULA_REGEX)
tap = Tap.fetch($1, $2)
tap.install unless tap.installed?
end

View File

@ -262,14 +262,6 @@ class Formulary
return FromUrlLoader.new(ref)
when Pathname::BOTTLE_EXTNAME_RX
return BottleLoader.new(ref)
when HOMEBREW_CORE_FORMULA_REGEX
name = $1
formula_with_that_name = core_path(name)
if (newname = FORMULA_RENAMES[name]) && !formula_with_that_name.file?
return FormulaLoader.new(newname, core_path(newname))
else
return FormulaLoader.new(name, formula_with_that_name)
end
when HOMEBREW_TAP_FORMULA_REGEX
return TapLoader.new(ref)
end

View File

@ -1,7 +1,5 @@
# match taps' formulae, e.g. someuser/sometap/someformula
HOMEBREW_TAP_FORMULA_REGEX = %r{^([\w-]+)/([\w-]+)/([\w+-.]+)$}
# match core's formulae, e.g. homebrew/homebrew/someformula
HOMEBREW_CORE_FORMULA_REGEX = %r{^homebrew/homebrew/([\w+-.]+)$}i
# match taps' directory paths, e.g. HOMEBREW_LIBRARY/Taps/someuser/sometap
HOMEBREW_TAP_DIR_REGEX = %r{#{Regexp.escape(HOMEBREW_LIBRARY.to_s)}/Taps/([\w-]+)/([\w-]+)}
# match taps' formula paths, e.g. HOMEBREW_LIBRARY/Taps/someuser/sometap/someformula