diff options
author | Steven Knight <knight@baldmt.com> | 2009-01-01 18:36:15 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2009-01-01 18:36:15 (GMT) |
commit | a35f5af91bb55f3f522a92a0927a4567d8bbfafa (patch) | |
tree | 60c2f974c9d62f7a9916ca90f9cfb1f0d0c02c9c /src | |
parent | 021ed8ef6e5d489aad7a11a707023fb8eb29f204 (diff) | |
download | SCons-a35f5af91bb55f3f522a92a0927a4567d8bbfafa.zip SCons-a35f5af91bb55f3f522a92a0927a4567d8bbfafa.tar.gz SCons-a35f5af91bb55f3f522a92a0927a4567d8bbfafa.tar.bz2 |
Use a SCons.Util.UniqueList instance for the Executor.sources list
instead of maintaining its uniqueness by hand.
Diffstat (limited to 'src')
-rw-r--r-- | src/engine/SCons/Executor.py | 7 | ||||
-rw-r--r-- | src/engine/SCons/ExecutorTests.py | 8 |
2 files changed, 5 insertions, 10 deletions
diff --git a/src/engine/SCons/Executor.py b/src/engine/SCons/Executor.py index 6b9ab0f..25db771 100644 --- a/src/engine/SCons/Executor.py +++ b/src/engine/SCons/Executor.py @@ -59,8 +59,7 @@ class Executor: 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 = {} @@ -156,12 +155,8 @@ class Executor: 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): diff --git a/src/engine/SCons/ExecutorTests.py b/src/engine/SCons/ExecutorTests.py index 12c80b4..0fd11af 100644 --- a/src/engine/SCons/ExecutorTests.py +++ b/src/engine/SCons/ExecutorTests.py @@ -160,12 +160,12 @@ class ExecutorTestCase(unittest.TestCase): 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'] @@ -270,9 +270,9 @@ class ExecutorTestCase(unittest.TestCase): 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""" |