aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/software_spec.rb
diff options
context:
space:
mode:
authorilovezfs2017-06-25 03:38:21 -0700
committerilovezfs2017-06-25 03:38:21 -0700
commitcbf89e50bb948989f3f19ed92f3251283a918e4b (patch)
treea39ccc9acf9ff9d7023d9721a6781c075216024f /Library/Homebrew/software_spec.rb
parent943c69f6a6fc52756e14d8b8c3f1e19258bbb5f1 (diff)
downloadbrew-cbf89e50bb948989f3f19ed92f3251283a918e4b.tar.bz2
software_spec: define recursive deps and reqs
Diffstat (limited to 'Library/Homebrew/software_spec.rb')
-rw-r--r--Library/Homebrew/software_spec.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb
index b6e6d1919..eaae724a4 100644
--- a/Library/Homebrew/software_spec.rb
+++ b/Library/Homebrew/software_spec.rb
@@ -161,10 +161,24 @@ class SoftwareSpec
dependency_collector.deps
end
+ def recursive_dependencies
+ recursive_dependencies = deps
+ deps.map(&:to_formula).compact.uniq.each do |f|
+ f.recursive_dependencies.each do |dep|
+ recursive_dependencies << dep unless recursive_dependencies.include?(dep)
+ end
+ end
+ recursive_dependencies
+ end
+
def requirements
dependency_collector.requirements
end
+ def recursive_requirements
+ Requirement.expand(self)
+ end
+
def patch(strip = :p1, src = nil, &block)
p = Patch.create(strip, src, &block)
dependency_collector.add(p.resource) if p.is_a? ExternalPatch