| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
The memoizer statistics have to be handled specially as they use
conditional decorators, those have to be enabled before any of the
decorated methods are read by Python. This worked if there was exactly
"--debug=memoizer" on the commandline or in SCONSFLAGS, but not if it
was in a multi-value option like "--debug=presub,memoizer".
Handle the up-front-check a little more completely to fix this.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
| |
Now code matches the documentation. Additionally fixturized the Help test
|
| |\
| |
| | |
Remove Python 3.6 support
|
| | | |
|
| |\ \
| | |
| | | |
Integrate `from __future__ import annotations`
|
| | |/ |
|
| | | |
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
|
|
|
| |
Override the _process_short_opts method from optparse so it behaves
better. This fix is lifted directly from #3799, leaving an additional
part to apply later.
Fixes #3798
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The optparse add_option method supports an additional calling style
that is not directly described in SCons docs, but is included
by reference ("see the optparse documentation for details"):
it takes a single arg consisting of a premade option object.
Because the optparse code detects that case based on seeing zero
kwargs, and we always add at least one (default=) that would fail
for AddOption. Fix for consistency, but don't advertise it further:
not addewd to manpage synoposis/description.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Indicate more clearly (for the API docs) that something is an SCons
addition/modification, since that doc shows members inherited from the
optparse class - this was always easier to tell in the code than in the doc.
A few other minor rearrangements and comments and a few type annotations.
Does not change any behavior.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
|
|
|
|
|
| |
For now, want to keep the "key=value, ..." form for Functions/Method
signatures instead of using **kwargs, since that terminology hasn't
been introduced. May switch signatures later, but if so, do them all,
let's not be piecemeal.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
Two additions in the cycle since 4.7.0 had documentation annotations
that they were added in 4.7.1. Update to 4.8.0. One of those
changes didn't have an annotation in the code.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | |
|
| |
|
|
|
|
| |
There are no code changes.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
|
|
| |
Also change the build matrix on AppVeyor so we can hopefully get to a pass.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AddOption and the internal add_local_option which AddOption calls now
recognize a "settable" keyword argument to indicate a project-added
option can also be modified using SetOption.
There was a TODO in SCons/Script/SConsOptions.py about removing
three hardcoded ninja options in the "settable" list once this
change was made. When that was done it turned out one test failed,
because it called the SetOption before the ninja tool was initialized.
Logic reordered in the test, but this is a thing to watch out for.
Closes #3983.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |\ |
|
| | | |
|
| | | |
|
| |/
|
|
|
|
|
| |
No claim is made about when it will actually be dropped,
but some notice seems polite.
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>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The Pseudo manpage entry is updated to be more descriptive.
Since they were near neighbors in Environment.py, it and the three
functions Precious, Repository and Requires received minor
docstring changes there; Precious and Requires also got a minor
tweak to the manpage entry (mainly to clarify allowable argument types
and list return value).
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When Pseudo was added in SCons 2.3.1, it was not added to the
GlobalDefaultEnvironmentFunctions table which makes environment methods
available in the default environment.
Reworked the test so it does not rewrite the test SConstruct,
and added steps to test the global function version as well.
Fixes #4474.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
exception catch
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Most remaining http: references are either changed to https: or removed
or changed in case they were also stale links, and a replacement was
findable.
Does not affect schema and stylesheet references, which can remain http:
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
| |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
|
|
|
|
| |
Mention mutable objects - if an sconscript imports a previously exported
variable, it is the same object, so changes propagete. Some wording
tweaks in SConscript function.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |\ |
|
| | |\ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also dropped the word Fatal from the error, it's not consistent with
any other scons-generated exception.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This completes a change begun in 3.0.2, when the behavior changed
from "skip silently" to "skip but issue a warning"; that behavior
was marked deprecated in 3.1. Use must_exist=False to get the old
"skip silently" behavior.
Fixes #3958
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
$ pyupgrade --py36-plus $(<filelist)
Here's mostly what it's done:
- No more 'stringliteral'.encode('utf-8'): now b'stringliteral'
- No more unicode literals
- the default open mode is 'r', leaves out if default
- some f-string conversions (if shorter)
- catch OSError instead of subclasses
- no more mention of "object"
- generator expression instead of list comp. when safe
- a few tests had a shebang but actually began with blank line
- remove coding: utf-8 comment, per pep 3120 this is the default now
Manually - if a file in test/ was modified, then did the copyright
header conversion.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |/
|
|
|
|
|
|
|
|
|
|
|
| |
An additional keyword argument, "local_only", is now recorgnized
by Help(). If true, and "append" is True, then only project-defined
help messages are saved into the help text. That is, save help added
by calls to AddOption, but not SCons' own help, which is added
a different way.
Fixes #2356
Fixes #3686
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
As noted in issue #2356 (which this change does not complete/close),
the final line of help if the help message has been modified is
'Use scons -H for help about command-line options.'. This fails to
mention that -H prints only those options that are defined in SCons
itself, not options added via AddOption. Adjust the message to better
indicate this.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | |
|
| |
|
|
| |
quiet some linting warnings where the use is intentional
|
| |
|
|
| |
logic which get's nodename to work on all platforms (was failing on windows)
|