add fully qualified name for core formulae

This commit is contained in:
CNA-Bld 2015-08-06 21:22:57 +08:00 committed by Xu Cheng
parent 0c774cff50
commit 68a5b1fe46
3 changed files with 6 additions and 2 deletions

View File

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

View File

@ -211,6 +211,8 @@ class Formulary
return FromUrlLoader.new(ref) return FromUrlLoader.new(ref)
when Pathname::BOTTLE_EXTNAME_RX when Pathname::BOTTLE_EXTNAME_RX
return BottleLoader.new(ref) return BottleLoader.new(ref)
when HOMEBREW_CORE_FORMULA_REGEX
return FormulaLoader.new($1, core_path($1))
when HOMEBREW_TAP_FORMULA_REGEX when HOMEBREW_TAP_FORMULA_REGEX
return TapLoader.new(ref) return TapLoader.new(ref)
end end

View File

@ -2,6 +2,8 @@
HOMEBREW_TAP_ARGS_REGEX = %r{^([\w-]+)/(homebrew-)?([\w-]+)$} HOMEBREW_TAP_ARGS_REGEX = %r{^([\w-]+)/(homebrew-)?([\w-]+)$}
# match taps' formulae, e.g. someuser/sometap/someformula # match taps' formulae, e.g. someuser/sometap/someformula
HOMEBREW_TAP_FORMULA_REGEX = %r{^([\w-]+)/([\w-]+)/([\w+-.]+)$} 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 # 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-]+)} 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 # match taps' formula paths, e.g. HOMEBREW_LIBRARY/Taps/someuser/sometap/someformula