aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/software_spec.rb
diff options
context:
space:
mode:
authorJack Nagel2013-09-21 19:27:24 -0500
committerJack Nagel2013-09-21 19:27:24 -0500
commit0af7d5611e09d88dbcec602bd523d8a72a81c57b (patch)
treecab0b66a9828c51cc9948690ff30b24382c765fa /Library/Homebrew/software_spec.rb
parentd2c4be9ebee74145ea7eb2f54273df1b5c29c1f0 (diff)
downloadhomebrew-0af7d5611e09d88dbcec602bd523d8a72a81c57b.tar.bz2
Move dependencies to SoftwareSpec
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