summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node/__init__.py
Commit message (Collapse)AuthorAgeFilesLines
* Clarify and simplify logic in Node.get_binfo()William Deegan2018-11-121-4/+8
|
* switch from izip to zip. no izip in py3William Deegan2018-11-121-1/+1
|
* Revisit caching of filename -> csig map and invalidate when reasonableWilliam Deegan2018-11-121-1/+1
|
* Moved logic to handle Timestamp-MD5 decider issues into File() node. One ↵William Deegan2018-11-121-150/+52
| | | | minor change in Node.Changed() it now has to handle the decider called indirectly throwing DeciderNeedsNode exception which has a property of decider it should call. Also had to update the explain logic to handle this exception.
* Check in before migrating logic from Node() -> File(). Since the ↵William Deegan2018-11-121-3/+17
| | | | | | 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
* pull changes for this issue from WIP branch on mongo treeWilliam Deegan2018-11-121-23/+60
|
* change exists_file() method to skip adding files AND sigs for files in the ↵William Deegan2018-11-121-33/+50
| | | | ignore set. previously was only skipping signitures which left the sconsign in an inconsistant state. (More file names than sigs)
* Create test to verify fix for issue #2980William Deegan2018-11-121-4/+3
| | | | | | There are still possible errors due to timestamp-MD5 + cachedir + changed implicit or regular dependencies (but the same # of such as the previous build). These are not yet handled as the fix being used for changed number of such breaks a number of tests. This fix doe reduce the number of possible issues.
* rename variable then to previous_children to make the code a bit easier to ↵William Deegan2018-11-121-5/+7
| | | | understand.
* Modified fix for issue #2980 where the more complicated logic is only ↵William Deegan2018-11-121-6/+6
| | | | applied when the number of children in the current build doesn't match the number in the previous build as retrieved from the sconsign file.
* Apply patch from wblevins for issue #2980 This fixes that issue, but as ↵William Deegan2018-11-121-8/+72
| | | | discussion indicates breaks other tests. WIP
* A few syntax cleanupsMats Wichmann2018-10-031-2/+2
| | | | | | | | | | | | | | | | | | | | | Suggested by PyCharm. Includes three "real" changes: 1. src/engine/SCons/Node/__init__.py has a print statement in a function which references 'self', but there is no 'self' defined (it is not a method in a class). Guessing it should have been 'node'. 2. src/engine/SCons/Environment.py makes a call using 'kwbd' which is not defined, looks like a copy-paste error and should be 'bd'. 3. src/engine/SCons/Tool/JavaCommon.py splits 'file', which is not defined, was evidently supposed to be 'fn'. These should be double-checked. The rest are purely syntax: whitespace, dropping trailing semicolons, using "is" to test for None, simplifying comparisons, normalizing docstring commenting ("always triple double quotes"), unneeded backslashes. Signed-off-by: Mats Wichmann <mats@linux.com>
* PY2/3 get_contents() was returning empty string instead of empty bytes when ↵William Deegan2017-08-241-1/+1
| | | | file doesn't exist. get_text_contents() was then trying to call decode on a string object... Fixed. get_contents() now returns empty byte string
* Performance: rewrite some central Node code based on hints on fastest ↵William Deegan2017-06-061-29/+13
| | | | uniquifiers for python from: https://www.peterbe.com/plog/uniqifiers-benchmark. In my tests yields about 15% speedup on Null Incremental build. Shows about the same on ElectricCloud scons benchmark
* When iterating over dict.items(), we do not need a new list.Craig Rodrigues2017-03-121-2/+2
|
* leave some debug logic for detecting build action change signature changes ↵William Deegan2017-02-261-0/+8
| | | | commented out in file
* Futurize stage 2 2to3 fixes only.William Blevins2016-09-201-8/+8
|
* Merged in klimkin/scons/optimize-scan-path-subst-v2 (pull request #345)William Deegan2016-08-121-10/+12
|\ | | | | | | Optimize implicit dependency scan
| * Optimize implicit dependency scanAlexey Klimkin2016-05-261-10/+12
| | | | | | | | | | | | | | | | When calculating path, performance spent on two things: - Variable expansion, if CPPPATH contains any variables - CPPPATH flattening Use memoization to optimize PATH evaluation across all dependencies per node.
* | wrap several frequently-used open() calls in with statementsDaniel Holth2016-06-151-1/+2
| |
* | avoid using __slots__ on Node and Executor (but only on PyPy)Daniel Holth2016-06-061-1/+4
|/
* Run futurize --stage1.Russel Winder2016-01-011-18/+20
|
* Post merge commit for safety. Building Fortran code works, but tests fail.Russel Winder2015-12-241-87/+447
|\
| * - fixed render_tree default argument for "visited" as wellDirk Baechle2015-12-141-1/+1
| | | | | | | | | | - added tests for the new "visited" default arguments of the render_tree and print_tree methods - added simple test for the new "None" default arguments in Variables constructor
| * removed several pre-2.7 methods and imports, including some basic refactoringsDirk Baechle2015-12-101-6/+1
| |
| * Issue 2264: Removed redundant SCANNER_HINT for preference of SCANNERS.William Blevins2015-08-071-13/+1
| | | | | | | | | | Also possibly SCons.Tool.SourceFileScanner (global only). Updated test to reflect with case using SCANNERS plus root node default.
| * Issue 2264: Added test for SCANNER_HINT support, plus bug fixes.William Blevins2015-06-301-2/+2
| |
| * Issue 2264: Updated behaviour when scanning included dependencies for nodes ↵William Blevins2015-06-301-18/+45
| | | | | | | | without scanner_key mappings.
| * Issue 2264: Added cross-language scanner support.William Blevins2015-05-171-10/+16
| |
| * - switching Node class and NodeInfo/Binfo to using slotsDirk Baechle2015-02-261-64/+408
| | | | | | | | - memoizer subsystem now uses decorators instead of the metaclass approach
* | Merged with [default]Stefan Zimmermann2014-03-311-1/+10
|\ \ | |/
| * - fix for spurious rebuilds, allow caching of the changed() method's value ↵Dirk Baechle2014-02-141-1/+10
| | | | | | | | only when called from File.release_target_info()
* | Merged with [default]Stefan Zimmermann2014-03-311-30/+65
|\ \ | |/
| * Added release_target_info() to File nodes, reduces memory consumption.Dirk Baechle2013-12-191-29/+47
| |
| * Merged scons/scons into defaultTom Tanner2013-10-301-1/+2
| |\
| | * - now counting instances only when requested via --debug=countDirk Baechle2013-10-251-1/+2
| | |
| * | Added Pseudo command to environment and tests. If a target is declared asTom Tanner2013-09-301-4/+12
| | | | | | | | | | | | Pseudo, it must NOT exist after the build rule is executed.
| * | Addition of warning if build doesn't build expected targets.Tom Tanner2013-09-261-0/+8
| |/ | | | | | | Added option to runtest.py to stop on first error
* | Made former 2to3 changes Python 2.7 compatible (or removed unneeded changes).Stefan Zimmermann2014-03-311-2/+2
| |
* | Result of raw 2to3 run (2to3-2.7); checkpoint for python3 conversion.Gary Oberbrunner2013-09-221-6/+6
|/
* - added simple test for #2720 (execute with cached targets)Dirk Baechle2012-04-221-1/+1
| | | | | - fixed two typos - updated list of changes
* - fixed issue #2720, applied final patch (v3) by Alexey KlimkinDirk Baechle2012-01-101-0/+1
|
* Fix issue with implicit-cache when files are removed on disk. Fixes issue ↵Gary Oberbrunner2010-08-121-3/+4
| | | | #1938.
* Fix "Ignoring corrupt sconsign entry" warnings when upgrading from 1.x.Steven Knight2010-05-261-2/+2
|
* Commit old-style classes in Node/__init__.py to new-style classes.Steven Knight2010-05-161-5/+5
| | | | | Fix a ripple-effect in Script/Main.py by using obj.__class__.__name_ to, uh, fetch the name of a class.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-241-14/+3
| | | | | | | Comb out all code that supported earlier versions of Python. Most such code is in snippets of only a few lines and can be identified by having a Python version string in it. Such snippets add up; this combing pass probably got rid of over 500 lines of code.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-211-4/+4
| | | | Apply the 'itertools' and 'itertools_imports' fixers.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-151-2/+2
| | | | | | Apply the first part of the 'raise' fixer (the three-argument cases are not converted and will need to wait until native support of with_traceback() is available).
* Issue 2334: Use compatibility versions of collections.User{Dict,List,String}Steven Knight2010-04-071-3/+3
| | | | | instead of the deprecated User{Dict,List,String} modules. The two test scripts that use User{List,String} fall back on ImportError by hand.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-03-291-2/+2
| | | | | | | Accumulated small fixers: renames, next, zip, and intern. Files that were modified or added while developing on branches/pending didn't have the fixers previously applied. This patchset picks up those.