Commit 9e2dfdcc authored by Dirk Pranke's avatar Dirk Pranke Committed by LUCI CQ

Make autoninja.py work again w/ Python3 and MSYS/MinGW bash.

We switched autoninja.py to python3 in https://crrev.com/c/2752772
but that assumes `python3` is in $PATH (which is likely true on
Mac and Linux but less likely to be true on Windows, especially
in MSYS/MinGW/git bash shells.

It's safer to use the `python3` bundled into depot_tools in
`$depot_tools/python-bin` and more hermetic to boot.

Bug: 1187609
Change-Id: I65efd1a2b87135ac4e25ba377309c3374cfda085
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2756889Reviewed-by: 's avatarBruce Dawson <brucedawson@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@google.com>
parent bd1729d9
......@@ -4,8 +4,11 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
depot_tools=$(dirname "$0")
python3="$depot_tools/python-bin/python3"
# Set unique build ID.
AUTONINJA_BUILD_ID="$(python3 -c "import uuid; print(uuid.uuid4())")"
AUTONINJA_BUILD_ID="$($python3 -c "import uuid; print(uuid.uuid4())")"
export AUTONINJA_BUILD_ID
if [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then
......@@ -14,23 +17,22 @@ fi
# Execute whatever is printed by autoninja.py.
# Also print it to reassure that the right settings are being used.
# Don't use python3 because it doesn't work in git bash on Windows.
command=$(python "$(dirname -- "$0")/autoninja.py" "$@")
command=$($python3 "$depot_tools/autoninja.py" "$@")
if [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then
echo "$command"
fi
if eval "$command"; then
if [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then
python3 "$(dirname -- "$0")/post_build_ninja_summary.py" "$@"
$python3 "$depot_tools/post_build_ninja_summary.py" "$@"
fi
# Collect ninjalog from googler.
python3 "$(dirname -- "$0")/ninjalog_uploader_wrapper.py" --cmd $command
$python3 "$depot_tools/ninjalog_uploader_wrapper.py" --cmd $command
exit
fi
# Collect ninjalog from googler.
python3 "$(dirname -- "$0")/ninjalog_uploader_wrapper.py" --cmd $command
$python3 "$depot_tools/ninjalog_uploader_wrapper.py" --cmd $command
# Return an error code of 1 so that if a developer types:
# "autoninja chrome && chrome" then chrome won't run if the build fails.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment