| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
with current python packaging practices
|
|
|
|
|
|
|
|
|
|
|
|
| |
The RootDir class was returning different values for path and _path as well as
different values for abspath and _abspath. This is because the underscored
versions were being set in the RootDir constructor, while the non-underscored
versions were going through the EntryProxy wrapper, which is only coded to do
a simple append of paths.
I considered trying to fix EntryProxy to detect this case but instead went with
a simpler approach where RootDir overrides the attributes that it wants to
avoid EntryProxy calls. Right now I have this as path and abspath.
|
| |
|
| |
|
| |
|
|
|
|
| |
dropping < py 3.5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Python 3 returns a special object, which is iterable, rather than
a list when you ask for dictionary keys(), values(), items(). if
you then proceed to iterate over it it's being used as expected and
doesn't have to be forced to a list first. This occurs a number of
places in this form:
for k in list(something.keys()):
Also there are several places where the code loops over the result
of dict.keys() and then uses the key to index into the dictionary,
this can be replaced by:
for k, v in something.items():
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Drop unneeded parens.
Drop trailing semicolons.
Triple double-quote docstrings.
Regexes drop unneeded escapes.
Spaces around parens, braces: remove/add.
Some one-tuples get their missing closing comma.
A couple of sets use set init syntax {foo} instead of set([iter]) now.
And a fiddle in Node to reduce lookup time on md5 signature functions
(came about because of a line-too-long issue, initially)
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
| |
This removes many unnecessary os.stat and related FS IO calls.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Also some optimized logic for updating and using the dependency_map built as part of the decider. Fixed tests. Note Deciders now need a fourth argument 'repo_node' which is the repository node for the file if it's to be used. This is currently only used by md5-timestamp decider File.changed_timestamp_then_content()
|
|\
| |
| | |
[wip] Py38warns4 tests
|
| |
| |
| |
| |
| |
| |
| | |
On a linux host (missing some things that may be on the Travis CI
setup), Py3.8a3 now shows 19 fails, 1048 pass, with 84 Warning: messages.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
| |
| |
| | |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Consistently use "not is" and "not in", many instances used
the form "not x is y" instead, which pylint objected to.
A couple of bare except clauses got a qualifier.
Files otherwise touched had trailing whitespace cleaned up as well.
These are all things that sider would complain about if a change
happened nearby, so this is pre-emptive.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
| |
Directly calling get_csig() when there is no previous build history
|
|
|
|
| |
previous build. This should speed up md5-timestamp builds for clean builds. Also added debug logic to dump and check aagainst previous implementation at top of FS.PY MD5_TIMESTAMP_DEBUG flag. currently set to False
|
|
|
|
| |
normalized path string with / separators. On a fresh windows build the node string will have windows dirsep and not normalizd. This yielded broken builds for the Meta project'
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
Minor reformat in rfile().
|
| |
|
|
|
|
| |
reference to issue #2980
|
| |
|
|
|
|
| |
failing because it was yielding a mixture of bytes and strings when generating cachedir signature use to determine file and directory in cachedir to use
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
In some cases it's possible to get a case where the target
path already does exist, but the dir node for it hasn't been
updated yet. This fix prevents MkdirFunc from trying to create
it when it already exists. Added a testcase which failed before
the fix and works after it.
Also fixes a problem running tests on Windows, using standard
python 3 which is installed in "C:/Program Files/Python36".
The python path name has to be escaped in that case. See runtest.py.
|
| |
|
| |
|
|
|
|
| |
if content is not a byte type now
|
|
|
|
| |
decodeing to utf-8
|
| |
|
|
|
|
| |
files on win32. It's supported under PY3, but SCons will need more work to make sure it's used in a consistant way and if user permissions are needed if they user has them
|
| |
|
|
|
|
| |
function is removed when a class provides __eq__
|
| |
|