aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/software_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/software_spec.rb')
-rw-r--r--Library/Homebrew/software_spec.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb
index 81adc83ff..1fd8a8fc6 100644
--- a/Library/Homebrew/software_spec.rb
+++ b/Library/Homebrew/software_spec.rb
@@ -3,11 +3,13 @@ require 'resource'
require 'checksum'
require 'version'
require 'build_options'
+require 'dependency_collector'
class SoftwareSpec
extend Forwardable
attr_reader :build, :resources, :owner
+ attr_reader :dependency_collector
def_delegators :@resource, :stage, :fetch
def_delegators :@resource, :download_strategy, :verify_download_integrity
@@ -18,6 +20,7 @@ class SoftwareSpec
@resource = Resource.new(:default, url, version)
@resources = {}
@build = BuildOptions.new(ARGV.options_only)
+ @dependency_collector = DependencyCollector.new
end
def owner= owner
@@ -44,6 +47,19 @@ class SoftwareSpec
raise "Options should not start with dashes." if name[0, 1] == "-"
build.add(name, description)
end
+
+ def depends_on spec
+ dep = dependency_collector.add(spec)
+ build.add_dep_option(dep) if dep
+ end
+
+ def deps
+ dependency_collector.deps
+ end
+
+ def requirements
+ dependency_collector.requirements
+ end
end
class HeadSoftwareSpec < SoftwareSpec