2012-09-14 07:54:14 -07:00
|
|
|
require 'set'
|
|
|
|
|
|
|
|
class BuildEnvironment
|
2012-12-23 19:43:10 -06:00
|
|
|
def initialize(*settings)
|
2014-07-07 18:12:24 -05:00
|
|
|
@settings = Set.new(*settings)
|
2012-09-14 07:54:14 -07:00
|
|
|
end
|
|
|
|
|
2014-07-07 09:15:56 -05:00
|
|
|
def merge(*args)
|
|
|
|
@settings.merge(*args)
|
2014-07-07 20:03:15 -05:00
|
|
|
self
|
2014-07-07 09:15:56 -05:00
|
|
|
end
|
|
|
|
|
2012-12-23 19:43:10 -06:00
|
|
|
def <<(o)
|
2014-07-07 17:34:30 -05:00
|
|
|
@settings << o
|
2012-12-23 19:43:10 -06:00
|
|
|
self
|
|
|
|
end
|
|
|
|
|
2012-09-14 07:54:14 -07:00
|
|
|
def std?
|
|
|
|
@settings.include? :std
|
|
|
|
end
|
|
|
|
|
|
|
|
def userpaths?
|
|
|
|
@settings.include? :userpaths
|
|
|
|
end
|
2013-01-19 20:45:57 -06:00
|
|
|
end
|
|
|
|
|
|
|
|
module BuildEnvironmentDSL
|
2014-07-07 21:32:36 -05:00
|
|
|
def env(*settings)
|
2013-01-19 20:45:57 -06:00
|
|
|
@env ||= BuildEnvironment.new
|
2014-07-07 21:32:36 -05:00
|
|
|
@env.merge(settings)
|
2013-01-19 20:45:57 -06:00
|
|
|
end
|
2012-09-14 07:54:14 -07:00
|
|
|
end
|