Reland "siso.py check ninja marker"

This reverts siso.py in commit 6ed0d7b86c
siso.py doesn't affect `ninja -t commands`

If out dir was built by Ninja, don't build by Siso.
(still allow `siso query` etc)

Bug: b/338414465
Change-Id: I3b317ca40153cee3987390d8b62ac070b6f85243
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5524213
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Auto-Submit: Fumitoshi Ukai <ukai@google.com>
changes/13/5524213/2
Fumitoshi Ukai 12 months ago committed by LUCI CQ
parent 7cc2678a05
commit 08d5eb6d68

@ -15,6 +15,29 @@ import sys
import gclient_paths
def checkOutdir(args):
subcmd = ''
out_dir = "."
for i, arg in enumerate(args):
if not arg.startswith("-") and not subcmd:
subcmd = arg
continue
if arg == "-C":
out_dir = args[i + 1]
elif arg.startswith("-C"):
out_dir = arg[2:]
if subcmd != "ninja":
return
ninja_marker = os.path.join(out_dir, ".ninja_deps")
if os.path.exists(ninja_marker):
print("depot_tools/siso.py: %s contains Ninja state file.\n"
"Use `autoninja` to use reclient,\n"
"or run `gn clean %s` to switch from ninja to siso\n" %
(out_dir, out_dir),
file=sys.stderr)
sys.exit(1)
def main(args):
# Propagate signals to siso process so that it can run cleanup steps.
# Siso will be terminated immediately after the second Ctrl-C.

Loading…
Cancel
Save