From 39a63ba3096813c834394c21fc758d8e553975be Mon Sep 17 00:00:00 2001 From: stevenknight Date: Thu, 1 Jan 2009 18:36:15 +0000 Subject: [PATCH] Use a SCons.Util.UniqueList instance for the Executor.sources list instead of maintaining its uniqueness by hand. git-svn-id: http://scons.tigris.org/svn/scons/trunk@3869 fdb21ef1-2011-0410-befe-b5e4ea1792b1 --- src/engine/SCons/Executor.py | 7 +------ 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 6b9ab0f4..25db7711 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 12c80b4c..0fd11af6 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""" -- 2.26.2