Class: BuildOptions Private
Overview
This class is part of a private API. This class may only be used in the Homebrew/brew repository. Third parties should avoid using this class if possible, as it may be removed or changed without warning.
Options for a formula build.
Instance Method Summary collapse
-
#any_args_or_options? ⇒ Boolean
private
True if the build has any arguments or options specified.
-
#bottle? ⇒ Boolean
private
True if a Formula is being built as a bottle (i.e. binary package).
-
#head? ⇒ Boolean
private
True if a Formula is being built with Formula.head instead of Formula.stable.
-
#stable? ⇒ Boolean
private
True if a Formula is being built with Formula.stable instead of Formula.head.
-
#with?(val) ⇒ Boolean
private
True if a Formula is being built with a specific option.
-
#without?(val) ⇒ Boolean
private
True if a Formula is being built without a specific option.
Instance Method Details
#any_args_or_options? ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
True if the build has any arguments or options specified.
69 70 71 |
# File 'build_options.rb', line 69 def !@args.empty? || !@options.empty? end |
#bottle? ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
True if a Formula is being built as a bottle (i.e. binary package).
46 47 48 |
# File 'build_options.rb', line 46 def bottle? include? "build-bottle" end |
#head? ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
True if a Formula is being built with Formula.head instead of Formula.stable.
args << "--some-new-stuff" if build.head?
# If there are multiple conditional arguments use a block instead of lines.
if build.head?
args << "--i-want-pizza"
args << "--and-a-cold-beer" if build.with? "cold-beer"
end
57 58 59 |
# File 'build_options.rb', line 57 def head? include? "HEAD" end |
#stable? ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
True if a Formula is being built with Formula.stable instead of Formula.head. This is the default.
args << "--some-beta" if build.head?
64 65 66 |
# File 'build_options.rb', line 64 def stable? !head? end |
#with?(val) ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
True if a Formula is being built with a specific option.
args << "--i-want-spam" if build.with? "spam"
args << "--qt-gui" if build.with? "qt" # "--with-qt" ==> build.with? "qt"
# If a formula presents a user with a choice, but the choice must be fulfilled:
if build.with? "example2"
args << "--with-example2"
else
args << "--with-example1"
end
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'build_options.rb', line 25 def with?(val) option_names = val.respond_to?(:option_names) ? val.option_names : [val] option_names.any? do |name| if option_defined? "with-#{name}" include? "with-#{name}" elsif option_defined? "without-#{name}" !include? "without-#{name}" else false end end end |
#without?(val) ⇒ Boolean
This method is part of a private API. This method may only be used in the Homebrew/brew repository. Third parties should avoid using this method if possible, as it may be removed or changed without warning.
True if a Formula is being built without a specific option.
args << "--no-spam-plz" if build.without? "spam"
41 42 43 |
# File 'build_options.rb', line 41 def without?(val) !with?(val) end |