11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#!/bin/bash 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# Copyright 2014 The Chromium Authors. All rights reserved. 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# Use of this source code is governed by a BSD-style license that can be 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# found in the LICENSE file. 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# Download the newest version of Closure Compiler, build it and put into Chrome 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci# source tree. Also update externs/chrome_extensions.js. 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccireadonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccireadonly TEMP_DIR=$(mktemp -d) 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicleanup() { 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci rm -rf "${TEMP_DIR}" 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccitrap cleanup SIGINT SIGHUP SIGTERM 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicd "${TEMP_DIR}" 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciecho "Cloning Closure Compiler repo" 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccigit clone https://github.com/google/closure-compiler.git 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicd closure-compiler 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciecho "Building Closure Compiler" 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciant jar 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciif [[ "$?" -ne 0 ]]; then 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci echo "Failed to build jar, copying nothing" >&2 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci cleanup 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci exit 1 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccifi 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciecho "Copying compiler.jar and chrome_extensions.js" 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicp build/compiler.jar "${SCRIPT_DIR}/compiler/" 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicp contrib/externs/chrome_extensions.js "${SCRIPT_DIR}/externs/" 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciecho "Done" 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicleanup 37