self.env = env
self.overridelist = overridelist
self.targets = targets
- self.sources = sources[:]
- self.sources_need_sorting = False
+ self.sources = SCons.Util.UniqueList(sources[:])
self.builder_kw = builder_kw
self._memo = {}
for "multi" Builders that can be called repeatedly to build up
a source file list for a given target."""
self.sources.extend(sources)
- self.sources_need_sorting = True
def get_sources(self):
- if self.sources_need_sorting:
- self.sources = SCons.Util.uniquer_hashables(self.sources)
- self.sources_need_sorting = False
return self.sources
def prepare(self):
env = MyEnvironment(Y='yyy')
overrides = [{'O':'ob3'}, {'O':'oo3'}]
- x = SCons.Executor.Executor(MyAction(), env, overrides, 't', 's')
+ x = SCons.Executor.Executor(MyAction(), env, overrides, ['t'], ['s'])
be = x.get_build_env()
assert be['O'] == 'oo3', be['O']
assert be['Y'] == 'yyy', be['Y']
overrides = [{'O':'ob3'}]
- x = SCons.Executor.Executor(MyAction(), env, overrides, 't', 's')
+ x = SCons.Executor.Executor(MyAction(), env, overrides, ['t'], ['s'])
be = x.get_build_env()
assert be['O'] == 'ob3', be['O']
assert be['Y'] == 'yyy', be['Y']
x = SCons.Executor.Executor('b', 'e', 'o', 't', ['s1', 's2'])
assert x.sources == ['s1', 's2'], x.sources
x.add_sources(['s1', 's2'])
- assert x.sources == ['s1', 's2', 's1', 's2'], x.sources
+ assert x.sources == ['s1', 's2'], x.sources
x.add_sources(['s3', 's1', 's4'])
- assert x.sources == ['s1', 's2', 's1', 's2', 's3', 's1', 's4'], x.sources
+ assert x.sources == ['s1', 's2', 's3', 's4'], x.sources
def test_get_sources(self):
"""Test getting sources from an Executor"""