Replace the build object rather than mutate it
This commit is contained in:
parent
0b468c528c
commit
b7b8b88cea
@ -1,7 +1,6 @@
|
||||
require 'options'
|
||||
|
||||
class BuildOptions
|
||||
attr_accessor :args
|
||||
attr_accessor :universal
|
||||
|
||||
def initialize(args, options)
|
||||
@ -15,7 +14,7 @@ class BuildOptions
|
||||
end
|
||||
|
||||
def include? name
|
||||
args.include? '--' + name
|
||||
@args.include?("--#{name}")
|
||||
end
|
||||
|
||||
def with? val
|
||||
|
||||
@ -29,10 +29,9 @@ class Dependency
|
||||
end
|
||||
|
||||
def to_formula
|
||||
f = Formulary.factory(name)
|
||||
# Add this dependency's options to the formula's build args
|
||||
f.build.args = f.build.args.concat(options)
|
||||
f
|
||||
formula = Formulary.factory(name)
|
||||
formula.build = BuildOptions.new(options, formula.options)
|
||||
formula
|
||||
end
|
||||
|
||||
def installed?
|
||||
|
||||
@ -303,15 +303,9 @@ class FormulaInstaller
|
||||
end
|
||||
|
||||
def effective_build_options_for(dependent, inherited_options=[])
|
||||
if dependent == f
|
||||
build = dependent.build.dup
|
||||
build.args |= options
|
||||
build
|
||||
else
|
||||
build = dependent.build.dup
|
||||
build.args |= inherited_options
|
||||
build
|
||||
end
|
||||
args = dependent.build.used_options
|
||||
args |= dependent == f ? options : inherited_options
|
||||
BuildOptions.new(args, dependent.options)
|
||||
end
|
||||
|
||||
def inherited_options_for(dep)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user