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
commitd2c4be9ebee74145ea7eb2f54273df1b5c29c1f0 (patch)
treebe3bd9304c3b407f5f933187eaf06bd7460ec0cf /Library/Homebrew/software_spec.rb
parentc6de3f78948dcd33a8ace236b60f58508e7d6b7d (diff)
downloadhomebrew-d2c4be9ebee74145ea7eb2f54273df1b5c29c1f0.tar.bz2
Move options to SoftwareSpec
Diffstat (limited to 'Library/Homebrew/software_spec.rb')
-rw-r--r--Library/Homebrew/software_spec.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb
index 7b4004ecb..81adc83ff 100644
--- a/Library/Homebrew/software_spec.rb
+++ b/Library/Homebrew/software_spec.rb
@@ -2,11 +2,12 @@ require 'forwardable'
require 'resource'
require 'checksum'
require 'version'
+require 'build_options'
class SoftwareSpec
extend Forwardable
- attr_reader :resources, :owner
+ attr_reader :build, :resources, :owner
def_delegators :@resource, :stage, :fetch
def_delegators :@resource, :download_strategy, :verify_download_integrity
@@ -16,6 +17,7 @@ class SoftwareSpec
def initialize url=nil, version=nil
@resource = Resource.new(:default, url, version)
@resources = {}
+ @build = BuildOptions.new(ARGV.options_only)
end
def owner= owner
@@ -35,6 +37,13 @@ class SoftwareSpec
resources.fetch(name) { raise ResourceMissingError.new(owner, name) }
end
end
+
+ def option name, description=nil
+ name = name.to_s if Symbol === name
+ raise "Option name is required." if name.empty?
+ raise "Options should not start with dashes." if name[0, 1] == "-"
+ build.add(name, description)
+ end
end
class HeadSoftwareSpec < SoftwareSpec