summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2001-09-24 13:44:50 (GMT)
committerSteven Knight <knight@baldmt.com>2001-09-24 13:44:50 (GMT)
commit6d2e37c6e4552fc39dc01fd69d0e4dd8d8edf356 (patch)
treefca72d5d4a6b1435be462205524c61b4091a9d22 /src/engine/SCons/Node
parent21a368c1a8d22330a27381978984f1c7a33f4db6 (diff)
downloadSCons-6d2e37c6e4552fc39dc01fd69d0e4dd8d8edf356.zip
SCons-6d2e37c6e4552fc39dc01fd69d0e4dd8d8edf356.tar.gz
SCons-6d2e37c6e4552fc39dc01fd69d0e4dd8d8edf356.tar.bz2
Implement the Depends() method.
Diffstat (limited to 'src/engine/SCons/Node')
-rw-r--r--src/engine/SCons/Node/FS.py4
-rw-r--r--src/engine/SCons/Node/FSTests.py4
-rw-r--r--src/engine/SCons/Node/__init__.py13
3 files changed, 19 insertions, 2 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py
index fc7b042..ee06089 100644
--- a/src/engine/SCons/Node/FS.py
+++ b/src/engine/SCons/Node/FS.py
@@ -198,6 +198,8 @@ class Dir(Node):
"""
def __init__(self, name, directory = None):
+ Node.__init__(self)
+
self.entries = PathDict()
self.entries['.'] = self
@@ -247,6 +249,8 @@ class File(Node):
"""
def __init__(self, name, directory):
+ Node.__init__(self)
+
self.abspath = os.path.join(directory.abspath, name)
if str(directory.path) == '.':
self.path = name
diff --git a/src/engine/SCons/Node/FSTests.py b/src/engine/SCons/Node/FSTests.py
index f95837f..87c6ed8 100644
--- a/src/engine/SCons/Node/FSTests.py
+++ b/src/engine/SCons/Node/FSTests.py
@@ -87,7 +87,7 @@ class FSTestCase(unittest.TestCase):
built_it = None
assert not built_it
d1.path = "d" # XXX FAKE SUBCLASS ATTRIBUTE
- d1.sources = "d" # XXX FAKE SUBCLASS ATTRIBUTE
+ d1.add_source(["d"]) # XXX FAKE SUBCLASS ATTRIBUTE
d1.builder_set(Builder())
d1.build()
assert built_it
@@ -95,7 +95,7 @@ class FSTestCase(unittest.TestCase):
built_it = None
assert not built_it
f1.path = "f" # XXX FAKE SUBCLASS ATTRIBUTE
- f1.sources = "f" # XXX FAKE SUBCLASS ATTRIBUTE
+ f1.add_source(["f"]) # XXX FAKE SUBCLASS ATTRIBUTE
f1.builder_set(Builder())
f1.build()
assert built_it
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py
index 8e5aab1..ce8e225 100644
--- a/src/engine/SCons/Node/__init__.py
+++ b/src/engine/SCons/Node/__init__.py
@@ -12,6 +12,12 @@ 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.env = None
+
def build(self):
self.builder.execute(target = self.path, source = self.sources)
@@ -30,3 +36,10 @@ class Node:
def get_signature(self):
return self.signature
+ def add_dependency(self, depend):
+ """Adds dependencies. The depends argument must be a list."""
+ self.depends.extend(depend)
+
+ def add_source(self, source):
+ """Adds sources. The source argument must be a list."""
+ self.sources.extend(source)