• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/bash
2# Copyright (C) 2018 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16set -e
17
18readonly CUR_DIR="$(cd -P ${BASH_SOURCE[0]%/*}; pwd)"
19readonly ROOT_DIR=$(dirname $(dirname "$CUR_DIR"))
20readonly NODE_DIR="$ROOT_DIR/buildtools/nodejs/bin"
21readonly WRAPPER="$ROOT_DIR/gn/standalone/build_tool_wrapper.py"
22
23cd $CUR_DIR
24
25function echo_and_do {
26  echo $@
27  $@
28}
29
30function npm {
31  echo_and_do python "$WRAPPER" --path $NODE_DIR npm $@
32}
33
34CLEAN_OUT_DIR=true
35DEPLOY_PROD=false
36DEPLOY_STAGING=false
37
38while [[ $# -gt 0 ]]; do
39  key="$1"
40  case $key in
41      --no-clean)
42      CLEAN_OUT_DIR=false
43      shift
44      ;;
45      --prod)
46      DEPLOY_PROD=true
47      shift
48      ;;
49      --staging)
50      DEPLOY_STAGING=true
51      shift
52      ;;
53      -h|--help)
54      echo "Usage: $0 [--no-clean] [--prod] [--staging]"
55      echo "    --no-clean  Don't remove the out directory"
56      echo "    --prod      Deploy prod version (implies --release)"
57      echo "    --staging   Deploy staging version"
58      echo "    -h|--help   Display this message"
59      exit 0
60      shift
61      ;;
62  esac
63done
64
65if [ "$CLEAN_OUT_DIR" = true ]; then
66  npm run clean
67fi
68
69npm run build
70
71if [ "$DEPLOY_PROD" = true ]; then
72  echo_and_do gcloud app deploy app.yaml --project perfetto-site \
73      -v prod --promote --stop-previous-version
74elif [ "$DEPLOY_STAGING" = true ]; then
75  echo_and_do gcloud app deploy app.yaml --project perfetto-site \
76      -v staging --no-promote --stop-previous-version
77else
78  echo_and_do gcloud app deploy app.yaml --project perfetto-site \
79      -v $USER --no-promote --stop-previous-version
80fi
81