diff options
| author | Mike McQuaid | 2018-01-14 13:27:43 +0000 |
|---|---|---|
| committer | Mike McQuaid | 2018-01-14 13:27:43 +0000 |
| commit | b70b5429d09d13526ccc08c67fd6a6373b471409 (patch) | |
| tree | f8fea6c707140cb62b0a9936db1e506431c8b46e /Library/Homebrew/requirement.rb | |
| parent | b66010605dfb8ecd7e5eb9eb5d1b97462c259e4d (diff) | |
| download | brew-b70b5429d09d13526ccc08c67fd6a6373b471409.tar.bz2 | |
Deprecate default_formula Requirement DSL
This has been a nightmare in terms of the complexity to our dependency
system and the whack-a-mole required on bugs. If a Requirement resolves
to a Formula it should just use `depends_on "formula"` instead. This
matches the effective behaviour all users of bottles (the vast majority
of users and installs) and what we're doing in Homebrew/homebrew-core.
Diffstat (limited to 'Library/Homebrew/requirement.rb')
| -rw-r--r-- | Library/Homebrew/requirement.rb | 39 |
1 files changed, 6 insertions, 33 deletions
diff --git a/Library/Homebrew/requirement.rb b/Library/Homebrew/requirement.rb index 91f84157e..e2b1afbb9 100644 --- a/Library/Homebrew/requirement.rb +++ b/Library/Homebrew/requirement.rb @@ -9,13 +9,11 @@ require "build_environment" class Requirement include Dependable - attr_reader :tags, :name, :cask, :download, :default_formula + attr_reader :tags, :name, :cask, :download def initialize(tags = []) - @default_formula = self.class.default_formula @cask ||= self.class.cask @download ||= self.class.download - @formula = nil tags.each do |tag| next unless tag.is_a? Hash @cask ||= tag[:cask] @@ -56,12 +54,6 @@ class Requirement result = self.class.satisfy.yielder { |p| instance_eval(&p) } @satisfied_result = result return false unless result - - if parent = satisfied_result_parent - parent.to_s =~ %r{(#{Regexp.escape(HOMEBREW_CELLAR)}|#{Regexp.escape(HOMEBREW_PREFIX)}/opt)/([\w+-.@]+)} - @formula = Regexp.last_match(2) - end - true end @@ -71,10 +63,6 @@ class Requirement self.class.fatal || false end - def default_formula? - self.class.default_formula || false - end - def satisfied_result_parent return unless @satisfied_result.is_a?(Pathname) parent = @satisfied_result.resolved_path.parent @@ -124,24 +112,6 @@ class Requirement "#<#{self.class.name}: #{name.inspect} #{tags.inspect}>" end - def formula - @formula || self.class.default_formula - end - - def satisfied_by_formula? - !@formula.nil? - end - - def to_dependency(use_default_formula: false) - if use_default_formula && default_formula? - Dependency.new(self.class.default_formula, tags, method(:modify_build_environment), name) - elsif formula =~ HOMEBREW_TAP_FORMULA_REGEX - TapDependency.new(formula, tags, method(:modify_build_environment), name) - elsif formula - Dependency.new(formula, tags, method(:modify_build_environment), name) - end - end - def display_s name end @@ -167,8 +137,11 @@ class Requirement include BuildEnvironment::DSL attr_reader :env_proc, :build - attr_rw :fatal, :default_formula - attr_rw :cask, :download + attr_rw :fatal, :cask, :download + + def default_formula(val = nil) + # odeprecated "Requirement.default_formula" + end def satisfy(options = nil, &block) return @satisfied if options.nil? && !block_given? |
