diff options
| author | Steven Knight <knight@baldmt.com> | 2001-09-24 14:16:04 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2001-09-24 14:16:04 (GMT) |
| commit | cf97a90442df5f8b835bb81aa5139e142baaf446 (patch) | |
| tree | 38b6a16f2ac93941a08d32dc22c6991a15bc0bc8 /src/engine/SCons/Node | |
| parent | 6d2e37c6e4552fc39dc01fd69d0e4dd8d8edf356 (diff) | |
| download | SCons-cf97a90442df5f8b835bb81aa5139e142baaf446.zip SCons-cf97a90442df5f8b835bb81aa5139e142baaf446.tar.gz SCons-cf97a90442df5f8b835bb81aa5139e142baaf446.tar.bz2 | |
Enhance Builders to take any type of node as input.
Diffstat (limited to 'src/engine/SCons/Node')
| -rw-r--r-- | src/engine/SCons/Node/FS.py | 6 | ||||
| -rw-r--r-- | src/engine/SCons/Node/FSTests.py | 5 | ||||
| -rw-r--r-- | src/engine/SCons/Node/__init__.py | 10 |
3 files changed, 19 insertions, 2 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py index ee06089..2595766 100644 --- a/src/engine/SCons/Node/FS.py +++ b/src/engine/SCons/Node/FS.py @@ -214,6 +214,9 @@ class Dir(Node): self.abspath = self.path = name self.entries['..'] = None + def __str__(self): + return self.path + def up(self): return self.entries['..'] @@ -258,6 +261,9 @@ class File(Node): self.path = os.path.join(directory.path, name) self.parent = directory + def __str__(self): + return self.path + def root(self): return self.parent.root() diff --git a/src/engine/SCons/Node/FSTests.py b/src/engine/SCons/Node/FSTests.py index 87c6ed8..94ec5b0 100644 --- a/src/engine/SCons/Node/FSTests.py +++ b/src/engine/SCons/Node/FSTests.py @@ -41,6 +41,8 @@ class FSTestCase(unittest.TestCase): dir = fileSys.Dir(lpath) assert dir.path == path, "Dir.path %s != expected path %s" % \ (dir.path, path) + assert str(dir) == path, "str(dir) %s != expected path %s" % \ + (str(dir), path) assert dir.abspath == abspath, "Dir.abspath %s != expected abs. path %s" % \ (dir.abspath, path) assert dir.up().path == up_path, "Dir.up().path %s != expected parent path %s" % \ @@ -62,12 +64,14 @@ class FSTestCase(unittest.TestCase): f1 = fs.File('f1', directory = d1) assert f1.path == 'd1/f1', "f1.path %s != d1/f1" % f1.path + assert str(f1) == 'd1/f1', "str(f1) %s != d1/f1" % str(f1) try: f2 = fs.File('f1/f2', directory = d1) except TypeError, x: node = x.args[0] assert node.path == 'd1/f1', "node.path %s != d1/f1" % node.path + assert str(node) == 'd1/f1', "str(node) %s != d1/f1" % str(node) assert node.__class__.__name__ == 'File' except: raise @@ -77,6 +81,7 @@ class FSTestCase(unittest.TestCase): except TypeError, x: node = x.args[0] assert node.path == 'd1/f1', "node.path %s != d1/f1" % node.path + assert str(node) == 'd1/f1', "str(node) %s != d1/f1" % str(node) assert node.__class__.__name__ == 'File' except: raise diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py index ce8e225..8609c57 100644 --- a/src/engine/SCons/Node/__init__.py +++ b/src/engine/SCons/Node/__init__.py @@ -8,18 +8,24 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" +import string + + + class Node: """The base Node class, for entities that we know how to build, or use to build other Nodes. """ def __init__(self): - self.depends = [] self.sources = [] + self.depends = [] + self.derived = 0 self.env = None def build(self): - self.builder.execute(target = self.path, source = self.sources) + sources_str = string.join(map(lambda x: str(x), self.sources)) + self.builder.execute(target = str(self), source = sources_str) def builder_set(self, builder): self.builder = builder |
