#!/usr/bin/env bash

# Copyright 2017 Google LLC
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# In git bash on Windows, invoke the batch file.
if [ "$(expr "$(uname -s)" : "^MINGW64_NT")" == "10" ]; then
    autoninja.bat "$@"
    exit
fi

if [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then
    export NINJA_STATUS="[%r processes, %f/%t @ %o/s : %es ] "
fi

scriptdir=$(dirname -- "$0")
python_path="${scriptdir}/python-bin/python3"

if [ "$DEPOT_TOOLS_USE_VIRTUAL_BUILD_PATH" == "1" ]; then
  # Execute under virtual path.
  "${python_path}" "${scriptdir}/run_in_virtual_path.py" "${python_path}" "${scriptdir}/autoninja.py" "$@"
  retval=$?
else
  # Execute whatever is printed by autoninja.py.
  # Also print it to reassure that the right settings are being used.
  "${python_path}" "${scriptdir}/autoninja.py" "$@"
  retval=$?
fi

if [ "$retval" == "0" ] && [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then
  "${python_path}" "${scriptdir}/post_build_ninja_summary.py" "$@"
fi

# Pass-through autoninja's error code so that if a developer types:
# "autoninja chrome && chrome" then chrome won't run if the build fails.
exit $retval
