| #!/usr/bin/env bash |
| |
| # Copyright (c) 2017 Google Inc. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # Set unique build ID. |
| AUTONINJA_BUILD_ID="$(vpython -c "import uuid; print(uuid.uuid4())")" |
| export AUTONINJA_BUILD_ID |
| |
| if [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then |
| export NINJA_STATUS="[%r processes, %f/%t @ %o/s : %es ] " |
| fi |
| |
| # Execute whatever is printed by autoninja.py. |
| # Also print it to reassure that the right settings are being used. |
| command=$(vpython "$(dirname -- "$0")/autoninja.py" "$@") |
| if [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then |
| echo "$command" |
| fi |
| if eval "$command"; then |
| if [ "$NINJA_SUMMARIZE_BUILD" == "1" ]; then |
| vpython "$(dirname -- "$0")/post_build_ninja_summary.py" "$@" |
| fi |
| |
| # Collect ninjalog from googler. |
| vpython "$(dirname -- "$0")/ninjalog_uploader_wrapper.py" --cmd $command |
| exit |
| fi |
| |
| # Collect ninjalog from googler. |
| vpython "$(dirname -- "$0")/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. |
| exit 1 |