diff options
author | William Deegan <bill@baddogconsulting.com> | 2018-07-18 23:00:19 (GMT) |
---|---|---|
committer | William Deegan <bill@baddogconsulting.com> | 2018-11-12 16:46:36 (GMT) |
commit | f27ff8636b0db7cc025ca343b3eeac5dd11ba6b0 (patch) | |
tree | 363172e4e68fe0ae546ad93c15d71d2c6981e308 | |
parent | 883770b811061663c9e5fd6dd6f583c443aa1c7c (diff) | |
download | SCons-f27ff8636b0db7cc025ca343b3eeac5dd11ba6b0.zip SCons-f27ff8636b0db7cc025ca343b3eeac5dd11ba6b0.tar.gz SCons-f27ff8636b0db7cc025ca343b3eeac5dd11ba6b0.tar.bz2 |
Check in before migrating logic from Node() -> File(). Since the Timestamp-MD5 decider issue we're trying to resolve only affects File() nodes.
Additionally creating the map of file names -> csigs for info loaded from SConsign would only be used when using Timestamp-MD5
-rw-r--r-- | src/engine/SCons/Node/__init__.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py index 76f5139..823f505 100644 --- a/src/engine/SCons/Node/__init__.py +++ b/src/engine/SCons/Node/__init__.py @@ -45,6 +45,7 @@ from __future__ import print_function __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" +import os import collections import copy from itertools import chain @@ -381,6 +382,7 @@ class NodeInfoBase(object): """ state = other.__getstate__() self.__setstate__(state) + def format(self, field_list=None, names=0): if field_list is None: try: @@ -1214,7 +1216,7 @@ class Node(object, with_metaclass(NoSlotsPyPy)): return _exists_map[self._func_exists](self) def rexists(self): - """Does this node exist locally or in a repositiory?""" + """Does this node exist locally or in a repository?""" # There are no repositories by default: return _rexists_map[self._func_rexists](self) @@ -1464,6 +1466,7 @@ class Node(object, with_metaclass(NoSlotsPyPy)): c_str = c_str.replace(os.sep, os.altsep) df = dmap.get(c_str) if not df: + print("No Luck1:%s"%c_str) try: # this should yield a path which matches what's in the sconsign c_str = c.get_path() @@ -1471,6 +1474,10 @@ class Node(object, with_metaclass(NoSlotsPyPy)): c_str = c_str.replace(os.sep, os.altsep) df = dmap.get(c_str) + if not df: + print("No Luck:%s"%[str(s) for s in c.find_repo_file()]) + print(" :%s"%c.rfile()) + except AttributeError as e: import pdb; pdb.set_trace() @@ -1482,10 +1489,14 @@ class Node(object, with_metaclass(NoSlotsPyPy)): if df: prev.append(df) continue + else: + print("CHANGE_DEBUG: file:%s PREV_BUILD_FILES:%s" % (c_str, ",".join(dmap.keys()))) prev.append(None) continue + c.find_repo_file() + # TODO: This may not be necessary at all.. # try: # # We're not finding the file as listed in the @@ -1550,9 +1561,12 @@ class Node(object, with_metaclass(NoSlotsPyPy)): result = False children = self.children() - bi = node.get_stored_info().binfo - # previous_children = bi.bsourcesigs + bi.bdependsigs + bi.bimplicitsigs + + # then_names = bi.bsources + bi.bdepends + bi.bimplicit + # print("CHANGED : %s"%[str(s) for s in then_names]) + # print("CHILDREN: %s"%[str(s) for s in children]) + previous_map_by_file_name = self._build_dependency_map(bi) # Now build new then based on map built above. |