| #!/bin/bash |
| # Copyright 2017 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| set -eu |
| |
| # Builds new rc binaries at head and uploads them to google storage. |
| # The new .sha1 files will be in the tree after this has run. |
| |
| if [[ "$OSTYPE" != "darwin"* ]]; then |
| echo "this script must run on a mac" |
| exit 1 |
| fi |
| |
| DIR="$(cd "$(dirname "${0}" )" && pwd)" |
| SRC_DIR="$DIR/../../../.." |
| |
| # Make sure Linux and Windows sysroots are installed, for distrib.py. |
| $SRC_DIR/build/linux/sysroot_scripts/install-sysroot.py --arch amd64 |
| $SRC_DIR/build/vs_toolchain.py update --force |
| |
| # Make a temporary directory. |
| WORK_DIR=$(mktemp -d) |
| if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then |
| echo "could not create temp dir" |
| exit 1 |
| fi |
| function cleanup { |
| rm -rf "$WORK_DIR" |
| } |
| trap cleanup EXIT |
| |
| # Check out rc and build it in the temporary directory. Copy binaries over. |
| pushd "$WORK_DIR" > /dev/null |
| git clone -q https://github.com/nico/hack |
| cd hack/res |
| ./distrib.py "$SRC_DIR" |
| popd > /dev/null |
| cp "$WORK_DIR/hack/res/rc-linux64" "$DIR/linux64/rc" |
| cp "$WORK_DIR/hack/res/rc-mac" "$DIR/mac/rc" |
| cp "$WORK_DIR/hack/res/rc-win.exe" "$DIR/win/rc.exe" |
| |
| # Upload binaries to cloud storage. |
| upload_to_google_storage.py -b chromium-browser-clang/rc "$DIR/linux64/rc" |
| upload_to_google_storage.py -b chromium-browser-clang/rc "$DIR/mac/rc" |
| upload_to_google_storage.py -b chromium-browser-clang/rc "$DIR/win/rc.exe" |