aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/requirement.rb
diff options
context:
space:
mode:
authorMike McQuaid2013-05-10 13:35:38 +0100
committerMike McQuaid2013-05-10 13:37:41 +0100
commit2d9329f14eaac22dd0e2411e31295dd9acf6d1c5 (patch)
tree2fc7c19abb862f1e93022ae6c2a30d2164b14222 /Library/Homebrew/requirement.rb
parent849942f9fd8028de0ed99c3c740fb33e28cf84ea (diff)
downloadhomebrew-2d9329f14eaac22dd0e2411e31295dd9acf6d1c5.tar.bz2
Allow requirements to specify a default formula.
This allows default resolution of requirements without user intervention. Closes #19627.
Diffstat (limited to 'Library/Homebrew/requirement.rb')
-rw-r--r--Library/Homebrew/requirement.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/Library/Homebrew/requirement.rb b/Library/Homebrew/requirement.rb
index c20273895..4cae1f246 100644
--- a/Library/Homebrew/requirement.rb
+++ b/Library/Homebrew/requirement.rb
@@ -75,6 +75,11 @@ class Requirement
end
class << self
+ # The default formula to install to satisfy this requirement.
+ def default_formula(val=nil)
+ val.nil? ? @default_formula : @default_formula = val.to_s
+ end
+
def fatal(val=nil)
val.nil? ? @fatal : @fatal = val
end
@@ -138,6 +143,13 @@ class Requirement
next if prune
+ # TODO: Do this in a cleaner way, perhaps with another type of
+ # dependency type.
+ if req.class.default_formula
+ dependent.class.depends_on(req.class.default_formula)
+ next
+ end
+
reqs << req
end
end