diff options
author | Ryan Egesdahl <ryan.egesdahl@mongodb.com> | 2021-10-15 12:26:34 -0700 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-10-15 21:28:56 +0000 |
commit | a9e2c89cae1be4235dee8321e0ff5511566772c1 (patch) | |
tree | 41a3eae0590d29c6bf2bbb5bd3de4452b64e3cc8 /site_scons | |
parent | 2119cbfd590aa667b5ee3d4b3b2a331cc4d58486 (diff) | |
download | mongo-a9e2c89cae1be4235dee8321e0ff5511566772c1.tar.gz |
Revert "SERVER-55259 Ensure build.ninja is always in a clean state"
This reverts commit c12d02757ceb26e611a7bafcd30d78db99d8778f.
Diffstat (limited to 'site_scons')
-rw-r--r-- | site_scons/site_tools/ninja.py | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/site_scons/site_tools/ninja.py b/site_scons/site_tools/ninja.py index bc215afc3b1..b9b2c3d2d47 100644 --- a/site_scons/site_tools/ninja.py +++ b/site_scons/site_tools/ninja.py @@ -28,7 +28,6 @@ import importlib import io import shutil import shlex -import tempfile import textwrap from glob import glob @@ -447,7 +446,6 @@ class NinjaState: self.variables = { "COPY": "cmd.exe /c 1>NUL copy" if sys.platform == "win32" else "cp", - "NOOP": "cmd.exe /c 1>NUL echo 0" if sys.platform == "win32" else "echo 0 >/dev/null", "SCONS_INVOCATION": "{} {} __NINJA_NO=1 $out".format( sys.executable, " ".join( @@ -517,11 +515,6 @@ class NinjaState: ), "description": "Symlink $in -> $out", }, - "NOOP": { - "command": "$NOOP", - "description": "Checking $out", - "pool": "local_pool", - }, "INSTALL": { "command": "$COPY $in $out", "description": "Install $out", @@ -566,9 +559,9 @@ class NinjaState: }, "REGENERATE": { "command": "$SCONS_INVOCATION_W_TARGETS", - "description": "Regenerating $self", - "depfile": os.path.join(get_path(env['NINJA_BUILDDIR']), '$out.depfile'), + "description": "Regenerating $out", "generator": 1, + "depfile": os.path.join(get_path(env['NINJA_BUILDDIR']), '$out.depfile'), # Console pool restricts to 1 job running at a time, # it additionally has some special handling about # passing stdin, stdout, etc to process in this pool @@ -813,28 +806,15 @@ class NinjaState: # list of build generation about. However, because the generate rule # is hardcoded here, we need to do this generate_depfile call manually. ninja_file_path = self.env.File(ninja_file).path - ninja_in_file_path = os.path.join(get_path(self.env['NINJA_BUILDDIR']), os.path.basename(ninja_file)) + ".in" generate_depfile( self.env, - ninja_in_file_path, - self.env['NINJA_REGENERATE_DEPS'], - ) - - ninja.build( - ninja_in_file_path, - rule="REGENERATE", - variables={ - "self": ninja_file_path, - }, + ninja_file_path, + self.env['NINJA_REGENERATE_DEPS'] ) - # This sets up a dependency edge between build.ninja.in and build.ninja - # without actually taking any action to transform one into the other - # because we write both files ourselves later. ninja.build( ninja_file_path, - rule="NOOP", - inputs=[ninja_in_file_path], + rule="REGENERATE", implicit=[__file__], ) @@ -871,10 +851,8 @@ class NinjaState: if scons_default_targets: ninja.default(" ".join(scons_default_targets)) - with tempfile.NamedTemporaryFile(delete=False, mode='w') as temp_ninja_file: - temp_ninja_file.write(content.getvalue()) - shutil.move(temp_ninja_file.name, ninja_in_file_path) - shutil.copy2(ninja_in_file_path, ninja_file) + with open(ninja_file, "w") as build_ninja: + build_ninja.write(content.getvalue()) self.__generated = True |