Viet-Trung Luu | 10fc724 | 2016-03-04 15:40:04 -0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # Copyright 2016 The Chromium Authors. All rights reserved. |
| 3 | # Use of this source code is governed by a BSD-style license that can be |
| 4 | # found in the LICENSE file. |
| 5 | |
| 6 | # Script that "builds" and uploads a C++ SDK to GCS. |
| 7 | |
| 8 | set -e |
| 9 | |
| 10 | SCRIPT_DIR=$(dirname $0) |
| 11 | BUILD_SDK=${SCRIPT_DIR}/build_sdk.py |
| 12 | |
| 13 | WORK_DIR=$(mktemp -d -t build_cpp_sdk.XXXXXXXX) |
| 14 | function cleanup_work_dir { |
| 15 | rm -rf "$WORK_DIR" |
| 16 | } |
| 17 | trap cleanup_work_dir EXIT |
| 18 | |
| 19 | # Build the SDK. |
| 20 | SDK_DIRNAME=mojo_cpp_sdk |
| 21 | SDK_DIR=${WORK_DIR}/${SDK_DIRNAME} |
| 22 | "$BUILD_SDK" "${SCRIPT_DIR}/data/cpp/cpp.sdk" "$SDK_DIR" |
| 23 | |
| 24 | # Get the version (hash). |
| 25 | VERSION=$(cat "${SDK_DIR}/MOJO_SDK_VERSION") |
| 26 | # Abbreviate it to 12 hex digits. |
| 27 | SHORT_VERSION=${VERSION:0:12} |
| 28 | echo "SDK version (hash): ${VERSION} (${SHORT_VERSION})" |
| 29 | |
| 30 | # Make a tarball. |
| 31 | TARBALL_FILENAME=mojo_cpp_sdk-${SHORT_VERSION}.tar.gz |
| 32 | TARBALL_FILE=${WORK_DIR}/${TARBALL_FILENAME} |
| 33 | # In a subshell, change to WORK_DIR so that the tarball will only have the |
| 34 | # mojo_cpp_sdk part of the path. |
| 35 | ( |
| 36 | cd "${WORK_DIR}" |
| 37 | tar c --owner=root --group=root -z -f "$TARBALL_FILENAME" "$SDK_DIRNAME" |
| 38 | ) |
| 39 | |
| 40 | # Assume that we're the "latest". Make a file containing the abbreviated hash. |
| 41 | LATEST_FILENAME=LATEST |
| 42 | LATEST_FILE=${WORK_DIR}/${LATEST_FILENAME} |
| 43 | echo "$SHORT_VERSION" > "$LATEST_FILE" |
| 44 | |
| 45 | echo "Press enter to upload ${TARBALL_FILENAME} to GCS" |
| 46 | read |
| 47 | |
| 48 | GCS_BASE_URL="gs://mojo/sdk/cpp" |
| 49 | # Don't clobber existing tarballs. |
| 50 | gsutil cp -n "$TARBALL_FILE" "${GCS_BASE_URL}/${TARBALL_FILENAME}" |
| 51 | # But allow "LATEST" to be clobbered. |
| 52 | gsutil cp "$LATEST_FILE" "${GCS_BASE_URL}/${LATEST_FILENAME}" |
| 53 | |
| 54 | echo "Done!" |