summaryrefslogtreecommitdiffstats
path: root/SCons/Script
Commit message (Collapse)AuthorAgeFilesLines
* Update NEXT_RELEASE to 4.9.0William Deegan2025-03-023-3/+3
|
* Handle --debug containing memoizerMats Wichmann2025-02-031-3/+12
| | | | | | | | | | | 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>
* Fixed mis-match between code and manpage for Help()'s local_only argument. ↵William Deegan2024-12-222-6/+10
| | | | Now code matches the documentation. Additionally fixturized the Help test
* Merge pull request #4642 from Repiteo/remove-python-3.6William Deegan2024-11-161-7/+1
|\ | | | | Remove Python 3.6 support
| * Remove Python 3.6 supportThaddeus Crews2024-11-161-7/+1
| |
* | Merge pull request #4643 from Repiteo/future-annotationsWilliam Deegan2024-11-163-10/+13
|\ \ | | | | | | Integrate `from __future__ import annotations`
| * | Integrate `from __future__ import annotations`Thaddeus Crews2024-11-163-10/+13
| |/
* | *.xml: Add miscellaneous language improvementsAlex Thiessen2024-11-151-1/+1
| |
* | *.xml: Add missing commasAlex Thiessen2024-11-151-1/+1
| |
* | *.xml: Fix obvious typos etc.Alex Thiessen2024-11-152-3/+3
|/
* Fix short-option processingMats Wichmann2024-09-161-6/+67
| | | | | | | | | | 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>
* Fix some AddOption issuesMats Wichmann2024-09-112-19/+37
| | | | | | | | | | | | | 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>
* Tweak SConsOptions docstringsMats Wichmann2024-09-061-47/+73
| | | | | | | | | | | | 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>
* Doc: use consistent repeated-args syntax [skip appveyor]Mats Wichmann2024-08-031-10/+16
| | | | | | | | | 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>
* Return master to development mode post releaseWilliam Deegan2024-07-081-1/+1
|
* Updates for SCons 4.8.0 releaseWilliam Deegan2024-07-071-1/+1
|
* Bump SCons "added" version to 4.8 [skip appveyor]Mats Wichmann2024-07-072-1/+5
| | | | | | | | 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>
* Add `SCsub` to known SConscript namesThaddeus Crews2024-07-051-0/+4
|
* Standardize license header on in-use doc files [skip appveyor]Mats Wichmann2024-06-252-4/+6
| | | | | | There are no code changes. Signed-off-by: Mats Wichmann <mats@linux.com>
* Tweak some docstrings for OptionsMats Wichmann2024-06-201-36/+26
| | | | | | Also change the build matrix on AppVeyor so we can hopefully get to a pass. Signed-off-by: Mats Wichmann <mats@linux.com>
* AddOption now recognizes "settable" optionMats Wichmann2024-06-173-83/+136
| | | | | | | | | | | | | | | | 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>
* Merge branch 'master' into py36-deprWilliam Deegan2024-05-103-4/+26
|\
| * Minor editsWilliam Deegan2024-05-041-0/+1
| |
| * Implement `GetSConsVersion` static methodThaddeus Crews2024-04-153-4/+25
| |
* | Deprecate Python 3.6 support.Mats Wichmann2024-05-041-5/+7
|/ | | | | | | No claim is made about when it will actually be dropped, but some notice seems polite. Signed-off-by: Mats Wichmann <mats@linux.com>
* Cleanup Warnings moduleMats Wichmann2024-03-081-3/+3
| | | | | | | | | | | | | | | | | | | | * 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>
* doc: update Pseudo description and moreMats Wichmann2024-02-091-17/+24
| | | | | | | | | | | | 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>
* Add Pseudo() to global functions, had been omitted.Mats Wichmann2024-02-071-0/+1
| | | | | | | | | | | | | 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>
* Disallow python without threading support on startupAndrew Morrow2024-01-261-0/+7
|
* review feedback: legacysched to legacy_schedAndrew Morrow2024-01-201-1/+1
|
* wipAndrew Morrow2024-01-191-1/+1
|
* Update SConscript.py: typoStenGruener2023-11-291-1/+4
|
* Fixing a bug with --debug=sconscript where no exit message was emitted on ↵StenGruener2023-11-291-1/+1
| | | | exception catch
* Updates to make ready for mergingWilliam Deegan2023-10-291-2/+2
|
* adding info to the man page, changed debug keyStenGruener2023-10-282-2/+2
|
* adding unit test, --debug flag, comments in changes.txtStenGruener2023-10-283-3/+5
|
* Adding tracing of scons script callsStenGruener2023-10-271-0/+4
|
* Elminate http: referencesMats Wichmann2023-10-171-1/+1
| | | | | | | | | | 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>
* SConscript() doc: minor tweaks after review [skip appveyor]Mats Wichmann2023-09-221-4/+4
| | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* Updates for Export/Import doc [skip appveyor]Mats Wichmann2023-09-191-45/+81
| | | | | | | | 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>
* Merge branch 'master' into feature/local-helpWilliam Deegan2023-08-245-38/+33
|\
| * Merge branch 'master' into maint/modernizeWilliam Deegan2023-08-243-35/+30
| |\
| | * missing-sconscript: fix Windows test againMats Wichmann2023-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | | 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>
| | * Change the default to error on missing SConscriptMats Wichmann2023-08-063-35/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | "Modernize" to Python 3.6 via toolMats Wichmann2023-08-042-4/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $ 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>
* | Add ability to save "local" help onlyMats Wichmann2023-08-015-38/+123
|/ | | | | | | | | | | | | 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>
* Adjust help message about -HMats Wichmann2023-06-271-1/+1
| | | | | | | | | | | 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>
* refeactor module variables to be lower case per mwichmann's reviewWilliam Deegan2023-06-091-17/+17
|
* Address mwichmann's comments on PR. pep8 naming, abstract base class Stats, ↵William Deegan2023-06-081-8/+10
| | | | quiet some linting warnings where the use is intentional
* Skip checking for exception when writing to unwritable dir in test. Change ↵William Deegan2023-06-061-1/+3
| | | | logic which get's nodename to work on all platforms (was failing on windows)