diff options
author | William Deegan <bill@baddogconsulting.com> | 2024-11-25 21:43:46 (GMT) |
---|---|---|
committer | William Deegan <bill@baddogconsulting.com> | 2024-11-25 21:43:46 (GMT) |
commit | 6d70e82c31788fdbc95cc9dff0b116f632be5d62 (patch) | |
tree | 46f740ac8b07cd2cd61c2167ddd7c62d0ee36bf9 | |
parent | 0b5ab8b6e4ab4fab4206220c593d9e7d88b0ebf9 (diff) | |
download | SCons-6d70e82c31788fdbc95cc9dff0b116f632be5d62.zip SCons-6d70e82c31788fdbc95cc9dff0b116f632be5d62.tar.gz SCons-6d70e82c31788fdbc95cc9dff0b116f632be5d62.tar.bz2 |
renamed SCons.Tool.ninja -> SCons.Tool.ninja_tool and added alias in tool loading logic. This fixes changes in this PR breaking JavaCommonTests because pypi's ninja module and SCons.Tool.ninja had the same name which python couldn't differentiate
-rw-r--r-- | SCons/Tool/__init__.py | 1 | ||||
-rw-r--r-- | SCons/Tool/ninja_tool/Globals.py (renamed from SCons/Tool/ninja/Globals.py) | 0 | ||||
-rw-r--r-- | SCons/Tool/ninja_tool/Methods.py (renamed from SCons/Tool/ninja/Methods.py) | 8 | ||||
-rw-r--r-- | SCons/Tool/ninja_tool/NinjaState.py (renamed from SCons/Tool/ninja/NinjaState.py) | 2 | ||||
-rw-r--r-- | SCons/Tool/ninja_tool/Overrides.py (renamed from SCons/Tool/ninja/Overrides.py) | 0 | ||||
-rw-r--r-- | SCons/Tool/ninja_tool/Rules.py (renamed from SCons/Tool/ninja/Rules.py) | 0 | ||||
-rw-r--r-- | SCons/Tool/ninja_tool/Utils.py (renamed from SCons/Tool/ninja/Utils.py) | 8 | ||||
-rw-r--r-- | SCons/Tool/ninja_tool/__init__.py (renamed from SCons/Tool/ninja/__init__.py) | 10 | ||||
-rw-r--r-- | SCons/Tool/ninja_tool/ninja.xml (renamed from SCons/Tool/ninja/ninja.xml) | 0 | ||||
-rw-r--r-- | SCons/Tool/ninja_tool/ninja_daemon_build.py (renamed from SCons/Tool/ninja/ninja_daemon_build.py) | 0 | ||||
-rw-r--r-- | SCons/Tool/ninja_tool/ninja_run_daemon.py (renamed from SCons/Tool/ninja/ninja_run_daemon.py) | 0 | ||||
-rw-r--r-- | SCons/Tool/ninja_tool/ninja_scons_daemon.py (renamed from SCons/Tool/ninja/ninja_scons_daemon.py) | 0 |
12 files changed, 15 insertions, 14 deletions
diff --git a/SCons/Tool/__init__.py b/SCons/Tool/__init__.py index a7bc927..23b7eeb 100644 --- a/SCons/Tool/__init__.py +++ b/SCons/Tool/__init__.py @@ -102,6 +102,7 @@ TOOL_ALIASES = { 'gettext': 'gettext_tool', 'clang++': 'clangxx', 'as': 'asm', + 'ninja' : 'ninja_tool' } diff --git a/SCons/Tool/ninja/Globals.py b/SCons/Tool/ninja_tool/Globals.py index 6b079ef..6b079ef 100644 --- a/SCons/Tool/ninja/Globals.py +++ b/SCons/Tool/ninja_tool/Globals.py diff --git a/SCons/Tool/ninja/Methods.py b/SCons/Tool/ninja_tool/Methods.py index ff006c0..01866e5 100644 --- a/SCons/Tool/ninja/Methods.py +++ b/SCons/Tool/ninja_tool/Methods.py @@ -30,9 +30,9 @@ from typing import TYPE_CHECKING import SCons from SCons.Subst import SUBST_CMD -from SCons.Tool.ninja import NINJA_CUSTOM_HANDLERS, NINJA_RULES, NINJA_POOLS -from SCons.Tool.ninja.Globals import __NINJA_RULE_MAPPING -from SCons.Tool.ninja.Utils import get_targets_sources, get_dependencies, get_order_only, get_outputs, get_inputs, \ +from SCons.Tool.ninja_tool import NINJA_CUSTOM_HANDLERS, NINJA_RULES, NINJA_POOLS +from SCons.Tool.ninja_tool.Globals import __NINJA_RULE_MAPPING +from SCons.Tool.ninja_tool.Utils import get_targets_sources, get_dependencies, get_order_only, get_outputs, get_inputs, \ get_rule, get_path, generate_command, get_command_env, get_comstr if TYPE_CHECKING: @@ -46,7 +46,7 @@ def register_custom_handler(env, name, handler) -> None: def register_custom_rule_mapping(env, pre_subst_string, rule) -> None: """Register a function to call for a given rule.""" - SCons.Tool.ninja.Globals.__NINJA_RULE_MAPPING[pre_subst_string] = rule + __NINJA_RULE_MAPPING[pre_subst_string] = rule def register_custom_rule(env, rule, command, description: str="", deps=None, pool=None, use_depfile: bool=False, use_response_file: bool=False, response_file_content: str="$rspc") -> None: diff --git a/SCons/Tool/ninja/NinjaState.py b/SCons/Tool/ninja_tool/NinjaState.py index da7aa28..274331e 100644 --- a/SCons/Tool/ninja/NinjaState.py +++ b/SCons/Tool/ninja_tool/NinjaState.py @@ -753,7 +753,7 @@ class SConsToNinjaTranslator: # Ninja builders out of being sources of ninja builders but I # can't fix every DAG problem so we just skip ninja_builders # if we find one - if SCons.Tool.ninja.NINJA_STATE.ninja_file == str(node): + if SCons.Tool.ninja_tool.NINJA_STATE.ninja_file == str(node): build = None elif isinstance(action, SCons.Action.FunctionAction): build = self.handle_func_action(node, action) diff --git a/SCons/Tool/ninja/Overrides.py b/SCons/Tool/ninja_tool/Overrides.py index 83d2efb..83d2efb 100644 --- a/SCons/Tool/ninja/Overrides.py +++ b/SCons/Tool/ninja_tool/Overrides.py diff --git a/SCons/Tool/ninja/Rules.py b/SCons/Tool/ninja_tool/Rules.py index e7d19e3..e7d19e3 100644 --- a/SCons/Tool/ninja/Rules.py +++ b/SCons/Tool/ninja_tool/Rules.py diff --git a/SCons/Tool/ninja/Utils.py b/SCons/Tool/ninja_tool/Utils.py index 24d439e..7782687 100644 --- a/SCons/Tool/ninja/Utils.py +++ b/SCons/Tool/ninja_tool/Utils.py @@ -413,14 +413,14 @@ def ninja_stat(_self, path): """ try: - return SCons.Tool.ninja.Globals.NINJA_STAT_MEMO[path] + return SCons.Tool.ninja_tool.Globals.NINJA_STAT_MEMO[path] except KeyError: try: result = os.stat(path) except os.error: result = None - SCons.Tool.ninja.Globals.NINJA_STAT_MEMO[path] = result + SCons.Tool.ninja_tool.Globals.NINJA_STAT_MEMO[path] = result return result @@ -430,7 +430,7 @@ def ninja_whereis(thing, *_args, **_kwargs): # Optimize for success, this gets called significantly more often # when the value is already memoized than when it's not. try: - return SCons.Tool.ninja.Globals.NINJA_WHEREIS_MEMO[thing] + return SCons.Tool.ninja_tool.Globals.NINJA_WHEREIS_MEMO[thing] except KeyError: # TODO: Fix this to respect env['ENV']['PATH']... WPD # We do not honor any env['ENV'] or env[*] variables in the @@ -443,7 +443,7 @@ def ninja_whereis(thing, *_args, **_kwargs): # with shell quoting is nigh impossible. So I've decided to # cross that bridge when it's absolutely required. path = shutil.which(thing) - SCons.Tool.ninja.Globals.NINJA_WHEREIS_MEMO[thing] = path + SCons.Tool.ninja_tool.Globals.NINJA_WHEREIS_MEMO[thing] = path return path diff --git a/SCons/Tool/ninja/__init__.py b/SCons/Tool/ninja_tool/__init__.py index 7320d03..d86c2c9 100644 --- a/SCons/Tool/ninja/__init__.py +++ b/SCons/Tool/ninja_tool/__init__.py @@ -32,7 +32,7 @@ import sys import SCons import SCons.Script -import SCons.Tool.ninja.Globals +from SCons.Tool.ninja_tool.Globals import ninja_builder_initialized from SCons.Script import GetOption from SCons.Util import sanitize_shell_env @@ -187,13 +187,13 @@ def ninja_emitter(target, source, env): def generate(env): """Generate the NINJA builders.""" - global NINJA_STATE, NINJA_CMDLINE_TARGETS + global NINJA_STATE, NINJA_CMDLINE_TARGETS, ninja_builder_initialized if 'ninja' not in GetOption('experimental'): return - if not SCons.Tool.ninja.Globals.ninja_builder_initialized: - SCons.Tool.ninja.Globals.ninja_builder_initialized = True + if not ninja_builder_initialized: + ninja_builder_initialized = True ninja_add_command_line_options() @@ -255,7 +255,7 @@ def generate(env): pass else: env.Append(CCFLAGS='$CCDEPFLAGS') - + env.AddMethod(CheckNinjaCompdbExpand, "CheckNinjaCompdbExpand") # Provide a way for custom rule authors to easily access command diff --git a/SCons/Tool/ninja/ninja.xml b/SCons/Tool/ninja_tool/ninja.xml index f89687e..f89687e 100644 --- a/SCons/Tool/ninja/ninja.xml +++ b/SCons/Tool/ninja_tool/ninja.xml diff --git a/SCons/Tool/ninja/ninja_daemon_build.py b/SCons/Tool/ninja_tool/ninja_daemon_build.py index f198d77..f198d77 100644 --- a/SCons/Tool/ninja/ninja_daemon_build.py +++ b/SCons/Tool/ninja_tool/ninja_daemon_build.py diff --git a/SCons/Tool/ninja/ninja_run_daemon.py b/SCons/Tool/ninja_tool/ninja_run_daemon.py index 666be0f..666be0f 100644 --- a/SCons/Tool/ninja/ninja_run_daemon.py +++ b/SCons/Tool/ninja_tool/ninja_run_daemon.py diff --git a/SCons/Tool/ninja/ninja_scons_daemon.py b/SCons/Tool/ninja_tool/ninja_scons_daemon.py index 8e297d3..8e297d3 100644 --- a/SCons/Tool/ninja/ninja_scons_daemon.py +++ b/SCons/Tool/ninja_tool/ninja_scons_daemon.py |