diff options
Diffstat (limited to 'src/engine/SCons/Node/FS.py')
-rw-r--r-- | src/engine/SCons/Node/FS.py | 62 |
1 files changed, 9 insertions, 53 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py index cffa2b5..a78a2c9 100644 --- a/src/engine/SCons/Node/FS.py +++ b/src/engine/SCons/Node/FS.py @@ -41,7 +41,6 @@ import os.path import shutil import stat import string -import cStringIO import SCons.Action import SCons.Errors @@ -721,7 +720,7 @@ class FS: self._cwd = dir if change_os_dir: os.chdir(dir.abspath) - except OSError: + except: self._cwd = curr raise @@ -903,17 +902,6 @@ class FS: message = "building associated BuildDir targets: %s" % string.join(map(str, targets)) return targets, message -class DummyExecutor: - """Dummy executor class returned by Dir nodes to bamboozle SCons - into thinking we are an actual derived node, where our sources are - our directory entries.""" - def get_raw_contents(self): - return '' - def get_contents(self): - return '' - def get_timestamp(self): - return 0 - class Dir(Base): """A class for directories in a file system. """ @@ -936,14 +924,12 @@ class Dir(Base): self.abspath_ = self.abspath + os.sep self.repositories = [] self.srcdir = None - self.source_scanner = None self.entries = {} self.entries['.'] = self self.entries['..'] = self.dir self.cwd = self self.builder = 1 - self.searched = 0 self._sconsign = None self.build_dirs = [] @@ -1037,19 +1023,6 @@ class Dir(Base): self.all_children(scan)) def all_children(self, scan=1): - # Before we traverse our children, make sure we have created Nodes - # for any files that this directory contains. We need to do this - # so any change in a file in this directory will cause it to - # be out of date. - if not self.searched: - try: - for filename in os.listdir(self.abspath): - if filename != '.sconsign': - self.Entry(filename) - except OSError: - # Directory does not exist. No big deal - pass - self.searched = 1 keys = filter(lambda k: k != '.' and k != '..', self.entries.keys()) kids = map(lambda x, s=self: s.entries[x], keys) def c(one, two): @@ -1078,6 +1051,10 @@ class Dir(Base): """A directory does not get scanned.""" return None + def calc_signature(self, calc): + """A directory has no signature.""" + return None + def set_bsig(self, bsig): """A directory has no signature.""" bsig = None @@ -1087,12 +1064,9 @@ class Dir(Base): csig = None def get_contents(self): - """Return aggregate contents of all our children.""" - contents = cStringIO.StringIO() - for kid in self.children(None): - contents.write(kid.get_contents()) - return contents.getvalue() - + """Return a fixed "contents" value of a directory.""" + return '' + def prepare(self): pass @@ -1136,24 +1110,6 @@ class Dir(Base): return self.srcdir return Base.srcnode(self) - def get_executor(self, create=1): - """Fetch the action executor for this node. Create one if - there isn't already one, and requested to do so.""" - try: - executor = self.executor - except AttributeError: - executor = DummyExecutor() - self.executor = executor - return executor - - def get_timestamp(self): - """Return the latest timestamp from among our children""" - stamp = 0 - for kid in self.children(None): - if kid.get_timestamp() > stamp: - stamp = kid.get_timestamp() - return stamp - class File(Base): """A class for files in a file system. """ @@ -1476,7 +1432,7 @@ class File(Base): def rfile(self): try: return self._rfile - except AttributeError: + except: self._rfile = self if not self.exists(): n = self.fs.Rsearch(self.path, clazz=File, |