| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use: https://github.com/JelleZijlstra/autotyping
to add "safe" return annotations.
Where a parameter has a default value that is an obvious scalar type
(bool, int, str, etc.) add those annotations as well.
Also fixed two small bugs that popped up when sanity-checking with
mypy. One in FortranCommon, where a return had been previously
annotated to be a tuple of Action, which should be ActionBase -
Action is the factory function, not the base class. The other was
a typo in the error raised in _add_cppdefines - the message was
formatted with the value of "define" which should have been "defines".
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Some nearby things in Main.py as well:
- docstrings polished a bit, minor linting
- move the list of predefined SConstruct file names into a constant
defined at the top of the file, so it's a little less hidden,
in the unlikely case of future changes.
Manpage text and example revised a bit.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
| |
The new ValidateOptions had a :versionadded: in the docstring,
but just noticed the actual manpage entry didn't have similar.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
|
|
| |
SetOption('diskcheck','none') has been working all along. Also refactored the DiskChecker class to have more meaningful properties and not shadow default python objects (list, dir)..
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Reworded the section on --experimental - separate when the two current
features were made available, and when --experimental itself was added.
* Reworded in GetOption
* Changed tags on a few options
* Use entity forms in more places (Python -> &Python;, SConscript ->
&SConscript; etc.)
* Make changed/added notifications more consistent with what Sphinx
produces for the API docs (:versionadded: and :versionchanged: markup)
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
| |
ParallelJob implementation. WHich should scale much better for highly parallel builds
|
| |
|
| |
|
|
|
|
| |
Exit(), GetLaunchDir() and SConscriptChdir()
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The five functions EnsureSConsVersion, EnsurePythonVersion, Exit,
GetLaunchDir, SConscriptChdir were listed as both global and
environment functions, but they do nothing in the context of an
environment, so marked in the xml as "global". This only changes
the presentation in the manpage & userguide appendix, not the behavior.
Minor tweaks in the code around SConscriptChdir - actually use a
bool True/False instead of 0/1, and added a couple of type annotations.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
select either have ValidateOptions() issue error message and exit,or throw an exception and then you can handle it your own way. per dmoody's sugguestion
|
|
|
|
| |
being flagged as undefined. Per mwichmann's feedback
|
| |
|
|
|
|
| |
either SCons specified or specifie by AddOption calls. It will error out if there are any unknown options. Resolves Issue #4187
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
| |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
| |
Reorder some bits, add some explantaions, include example of
passing different environments to subsidiary SConscript.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
|
|
|
| |
being written to the sconsign file
|
| |
|
|
|
|
|
|
|
| |
Drop the previous change to join lines even if the option part
overflows its gutter.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Processing changed a bit - some lines can now be joined instead of
split (if the usage part is short so the combination will still fit).
Dropped the "Ingored for compatibility" chunk from the printout.
The usage: message was changed as it didn't mention variables. A number
of tests expected the exact value of that line, and so were updated.
Updated docstrings (for the API docs).
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\
| |
| | |
Fix tests to not hang on Windows with bad .py assoc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For systems where the association for .py files is not to an actual
Python interpreter, those few cases where we need to run a Python script
directly as a program don't work. This could be because the association
was never set up, or because some other program (e.g. Visual Studio Code)
has taken it over. In some cases may appear to "hang" because the
alternate program is waiting for user interaction
runtest.py now has a mechanism to check (thanks to Brett Cannon for
providing this incantation). It isn't super precise (looks for the
substring "py" in the queried association), but should work out.
It sets an environment variable which the test framework can read
and as a result set a flag which individual tests can read.
Two tests in scons-time which had previously been set to skip-if-win32
now look at this flag instead. Three tests in sconsign now also look at
this flag. This allows a clean run on my dev box with VS Code having
taken over the .py association.
Various things can break if the environment used to fire off
Windows processes doesn't contain %UserProfile%. Added this to the
short list of passthrough env vars. Apparently an environment without
this value is now considered invalid (it blew up the erroneously
launched VS Code, but we've apparently been lucky it hasn't blown
up more things - believe there was also a report of a problem
with the Visual Studio setup scripts).
A little extra cleanup:
- a couple of Py2-isms were cleaned out (Script/Main.py and in the test
framework)
- The paths to look for site-scons were rewritten (part of this was
another Py2-ism), and the system path changed a bit - the old path is
still checked, and the manpage updated to reflect this.
- runtest.py dropped the unused whereis functions.
- the three sconsign tests now use f-string formatting, mostly as an
experiment to see how easy it is to convert.
Fixes #4053
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Maintenance: SCons has multiple classes named Base, which is a bit
unfortunate. Some already use a context-qualified name, like BuilderBase,
which seems preferable. Do that for ScannerBase, but leave the name Base
in the SCons.Scanner package in case *external* users are depending on
SCons.Scanner.Base working. SCons internally no longer uses that name.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Twiddled the way the experimental option is described,
and listed ninja as the available feature.
Also reformatted the exception call in the code for unknown feature,
behavior was not changed.
Essentially, this is a doc-only change.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\
| |
| | |
Change warnings behavior of missing SConscript
|
| |
| |
| |
| |
| |
| |
| | |
If SConscript() is called with must_exist=False, accept the user's
will without issuing a warning about the file being missing.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since working on Get/SetOption anyway via tests, update the
documentation as well. GetOption now has a table (instead of
a spread out list) to match SetOption, and the available vars
are all listed, as well as a note on AddOption'd vars.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
| |
| |
| |
| |
| | |
The SetOption table in the docs is reformatted for easier editing.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
| |
| |
| | |
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Removed a number of imports reported as unused.
* Reorganize imports in a few places.
* Checker reported warnings problems ("Instantiating an exception,
but not raising it, has no effect"): serveral tool modules instantiated
a warning class thinking (?) it would issue the warning; changed these to
the standard use - calling the warn() function with the warnclass as an arg.
* Tool modules that were touched had the copyright header munging applied.
* Removed irritating "####" lines from gettext and msgfmt tools.
Signed-off-by: Mats Wichmann <mats@linux.com>
|
| | |
|