| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \ \ \ \ \ \ |
|
| |\ \ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | | |
Variables cleanup: ListVariable
|
| | | |_|_|_|_|_|_|/
| | |/| | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Part 5 of a series, updating the ListVariable implementation,
tests and docstrings.
Changelog note was merged in Part 1.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |/ / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
For a "package" which has a main piece and submodules, the
main part is now processed before, rather than after, the submodules.
Usally there's introductory material (e.g. in the main module's
docstring) and it's more useful for this to appear at the top of
a page rather than down after all the submodules.
Made some docstring tweaks in two modules where the result didn't
look very good - Debug and PathList. For PathList, Sphinx doesn't
process both a class docstring and its __init__ method's docstring -
you get one of the other, so joined those together.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|/ / / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
In some cases, the conversion of another exception to a BuildError
could yield undesired results: if the exception was a OSError/IOError,
and some fields were initially set to None, then the return code and error
string were set to None, rather than the SCons defaults (which are
return code 2, and the string set originally in the exception).
A unit test is added which attempts to build an OSError in the way
that the case "in the wild" does - confirmed failing to pick up
defaults without the change.
Fixes #4530
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |_|_|_|_|_|/
|/| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Part 4 of a series, updating the PathVariable implementation,
tests and docstrings.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Part 3 of a series, updating the EnumVariable implementation,
tests and docstrings.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Deprecate Python 3.6 support.
|
| |\ \ \ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
No claim is made about when it will actually be dropped,
but some notice seems polite.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
Variables cleanup: EnumVariable
|
| | |/ / / / / / /
| |/| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Part 2 of a series, updating the EnumVariable implementation,
tests and docstrings. While this is a small change, it looks
bigger in the diff, due to the conversion of a series of lambdas
to inner fuctions (fixing a pylint complaint)
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|/ / / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Simplify/clarify some usage of Python version strings. Dropped a couple
which refer to unsupported versions.
While looking at version usage, it became clear one of the SWIG tests
wasn't doing the right thing - it has a special case for Windows, where
the way the path to the Python library is constructed would only work
for the python.org release, not the Store version. Since we compute
this information correclty in the test framework, and the test already
called that routine - before ignoring the results - just use that instead.
Though it turns out the framework didn't quite do the right thing either,
returning a bare lib name without the library suffix - fixed that, too.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \ \ \ \ \ \ \ |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Part 1 of a series, updating the BoolVariable implementation,
tests and docstrings.
Note some of the test strings will change again when the change to
the "main" module (Variables/__init__.py) change lands.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|/ / / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This is the completion of PR #4520
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | | | | | | |
|
|/ / / / / / / |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The Variables object has been somewhat opague - kind of hard to tell
what you got. This adds as __str__ method which produces a formatted
string showing the contents of the object, so debugging can do:
var = Variables()
... bunch of setup stuff
print(var)
and get a reasonably readable representation.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
typo fix; more explanation of AppendUnique in DummyEnvironment
test class.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Two small code changes:
(1) if Environment() is called with a tools kwarg, reset TOOLS. Since it
wasn't used in the init, any previous contents would be invalid for this env.
(2) When adding the name of a tool to TOOLS, use AppendUnique rather
than Append, so we get a uniqued list. This impacted one unit test,
which uses a mock Envirionment with no AppendUnique method, so add one -
the result is not used so the fact it's not doing any uniquing is ok.
The rest is doc rewording and reorganization, and a little extra
checking in the site_dir test.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \ \ \ \ \ \ |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
In favor of just returning status for uniform behavior
|
| | | | | | | | |
|
| | |_|_|_|_|/
| |/| | | | | |
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Three classes that inherit from NodeInfoBase - FileNodeInfo, AliasNodeInfo
and ValueNodeInfo - have "specializations" of __getstate_ and __setstate__
from the parent, but they're identical to the parent's and thus not
needed. Always easy to add back if a different implementation is ever
needed for any of them.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Python 3.13 (alpha) changes the behavior of isabs() on Windows. SCons
has places where it does splitdrive on an absolute path, then checks
if the path part is absolute - this answer is now False, which caused
some interesting test fails. Do the check on the original path to get
a more accurate answer. There may be more subtle issues with the Python
change, but first fix the ones we can see.
Simplify the setup of _my_splitdrive() a bit: every caller is supposed to
check do_splitdrive but a couple of locations did not. Remove the special
check for UNC support, all Python versions SCons runs on do UNC handling,
so just eliminate that bit.
Fixes #4502, #4504.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When doing a Dump in json mode, custom SCons classes are not examined
by default (unlike the standard pprint() Dump), and end up in the
un-serialized bucket. Mostly, that's fine, but the BUILDERS dictionary
contains valueable information (which builders actually got configured),
as do the CLVar instances - these contain actual cmdline options that will
be issued. Update the function called when an object looks unserializable
to recognize subclasses of UserDict (which covers BuilderDict) and
UserList (which covers CLVar) and return their .data field.
Also tell the json encoder to sort the keys.
The adjacent function in the source file got a small tweak (non-functional).
Fixes #4493
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \ \ \ \ |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Describe the case of passing a dict (and make one of the examples
show that); describe that using strings has the same limitations
as ParseFlags, which it calls in that case.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Explicitly wrap non-serializable values in json dump
|
| | | | | | | |
|
| | |\ \ \ \ \ |
|
| | | | | | | | |
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Lock creation of CacheDir config
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
When creating a new CacheDir, the config file is created in
exclusive mode, but there's a timing window before the json dump
to the file completes when another thread could read the config
because it exists - but get a JSONDecodeError because it hasn't
finished writing yet. Add locking so the readers will have to
wait until the writer is done.
Fixes #4489
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \ \ \ \ \ \ \ \
| |/ / / / / / / / |
|
| |\ \ \ \ \ \ \ \
| | |/ / / / / / / |
|
| | |_|_|_|_|_|/
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Consistent use of &Python; entity.
Add something on Configure + variantdir.
Also some docstrings.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |/ / / / / /
|/| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Some doc changes.
E2E tests cleaned up a bit.
Before merge:
TODO: second half of manpage example doesn't work.
Also: should test give SCons.Node.Value.Value as factory, or just Value?
(remove new import if the latter). SCons.Node.Value.Value and
SCons.Environment.Value are not the same thing.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* Added docstrings on warning classes and module docstring.
* Move globals to top of file.
* Typing.
* Dropped DeprecatedSourceCodeWarning, last use was removed, with the
feature, for SCons 3.1.2.
* Dropped TaskmasterNeedsExecuteWarning, now enforced by Python via an
abstract base class (unused/unneeded since 4.0.0).
* Dropped DeprecatedMissingSConscriptWarning. This was a transitional
warning, no longer needed; can use MissingSConscriptWarning, which
also is no longer used but is left in in case it might be useful.
* Two in-use warnings added to manpage section on enabling warnings
(cache-cleanup-error, future-reserved-variable).
* Improve unittest a bit.
* Sphinx build set not to show inherited memerber for Warnings -
got ugly exception stuff otherwise.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \ \ \ \ \
| | |_|_|_|/
| |/| | | | |
|
| | |/ / /
| |/| | |
| | | | |
| | | | | |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | | |
| | | | |
| | | | |
| | | | | |
(entity) project file
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also style MSBuild (did not create an entity for it)
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Also convert usage of term Microsoft Visual C++
(which was used in several forms, with/without "Microsoft",
as C/C++, etc.) into an entity &MSVC; for consistency.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \ \ \
| |/ / / |
|
| |\ \ \ |
|
| | |\ \ \
| | | | | |
| | | | | | |
Fix PyPackageDir
|