requirement: allow access default_formula directly

This commit is contained in:
Xu Cheng 2015-06-06 19:55:31 +08:00
parent a8caf3636c
commit c6e1090c43
3 changed files with 5 additions and 4 deletions

View File

@ -344,7 +344,7 @@ module Homebrew
satisfied ||= requirement.satisfied?
satisfied ||= requirement.optional?
if !satisfied && requirement.default_formula?
default = Formula[requirement.class.default_formula]
default = Formula[requirement.default_formula]
satisfied = satisfied_requirements?(default, :stable, formula.full_name)
end
satisfied

View File

@ -26,7 +26,7 @@ module Homebrew
Requirement.prune if ignores.any? { |ignore| req.send(ignore) } && !dependent.build.with?(req)
end
deps.any? { |dep| dep.to_formula.full_name == ff.full_name } ||
reqs.any? { |req| req.name == ff.name || [ff.name, ff.full_name].include?(req.class.default_formula) }
reqs.any? { |req| req.name == ff.name || [ff.name, ff.full_name].include?(req.default_formula) }
else
deps = f.deps.reject do |dep|
ignores.any? { |ignore| dep.send(ignore) }
@ -35,7 +35,7 @@ module Homebrew
ignores.any? { |ignore| req.send(ignore) }
end
deps.any? { |dep| dep.to_formula.full_name == ff.full_name } ||
reqs.any? { |req| req.name == ff.name || [ff.name, ff.full_name].include?(req.class.default_formula) }
reqs.any? { |req| req.name == ff.name || [ff.name, ff.full_name].include?(req.default_formula) }
end
rescue FormulaUnavailableError
# Silently ignore this case as we don't care about things used in

View File

@ -9,10 +9,11 @@ require 'build_environment'
class Requirement
include Dependable
attr_reader :tags, :name, :cask, :download
attr_reader :tags, :name, :cask, :download, :default_formula
alias_method :option_name, :name
def initialize(tags=[])
@default_formula = self.class.default_formula
@cask ||= self.class.cask
@download ||= self.class.download
tags.each do |tag|