diff options
author | Steven Knight <knight@baldmt.com> | 2002-01-27 11:24:56 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-01-27 11:24:56 (GMT) |
commit | 47e39e99099af899b36634a6bf13459587f61ba1 (patch) | |
tree | 5b5e83abd7a69d3d7ed623fefae19a990aab1a58 /src/engine | |
parent | e9a2f2b02f67bf88917d74c9725f8d72b86b7cfc (diff) | |
download | SCons-47e39e99099af899b36634a6bf13459587f61ba1.zip SCons-47e39e99099af899b36634a6bf13459587f61ba1.tar.gz SCons-47e39e99099af899b36634a6bf13459587f61ba1.tar.bz2 |
Fix for previous Tasks change.
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/SCons/Script/__init__.py | 20 | ||||
-rw-r--r-- | src/engine/SCons/Taskmaster.py | 2 |
2 files changed, 13 insertions, 9 deletions
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py index f5ddbfe..12a22f4 100644 --- a/src/engine/SCons/Script/__init__.py +++ b/src/engine/SCons/Script/__init__.py @@ -68,12 +68,12 @@ import SCons.Script.SConscript class BuildTask(SCons.Taskmaster.Task): """An SCons build task.""" def execute(self): - if self.target.get_state() == SCons.Node.up_to_date: + if self.targets[0].get_state() == SCons.Node.up_to_date: if self.top: - print 'scons: "%s" is up to date.' % str(self.target) + print 'scons: "%s" is up to date.' % str(self.targets[0]) else: try: - self.target.build() + self.targets[0].build() except BuildError, e: sys.stderr.write("scons: *** [%s] %s\n" % (e.node, e.errstr)) if e.errstr == 'Exception': @@ -87,8 +87,7 @@ class BuildTask(SCons.Taskmaster.Task): # this method is serialized, but execute isn't: if print_tree and self.top: print - print SCons.Util.render_tree(self.target, get_children) - + print SCons.Util.render_tree(self.targets[0], get_children) def failed(self): global ignore_errors @@ -102,9 +101,14 @@ class BuildTask(SCons.Taskmaster.Task): class CleanTask(SCons.Taskmaster.Task): """An SCons clean task.""" def execute(self): - if self.target.builder: - os.unlink(self.target.path) - print "Removed " + self.target.path + if self.targets[0].builder: + os.unlink(self.targets[0].path) + print "Removed " + self.targets[0].path + try: + for t in self.targets[1:]: + os.unlink(t.path) + except IndexError: + pass # Global variables diff --git a/src/engine/SCons/Taskmaster.py b/src/engine/SCons/Taskmaster.py index aa6fe84..7ac594b 100644 --- a/src/engine/SCons/Taskmaster.py +++ b/src/engine/SCons/Taskmaster.py @@ -131,7 +131,7 @@ class Task: pending = filter(lambda x: x.get_state() == SCons.Node.pending, nodes.keys()) tasks = {} - for t in map(lambda r: r.task, ready): + for t in map(lambda r: r.task, pending): tasks[t] = 1 self.tm.pending_remove(tasks.keys()) |