| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 # Copyright 2014 The Chromium Authors. All rights reserved. | 2 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 # | 5 # |
| 6 # Download the newest version of Closure Compiler, build it and put into Chrome | 6 # Download the newest version of Closure Compiler, build it and put into Chrome |
| 7 # source tree. Also update externs/chrome_extensions.js. | 7 # source tree. Also update externs/chrome_extensions.js. |
| 8 | 8 |
| 9 readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | 9 readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
| 10 readonly TEMP_DIR=$(mktemp -d) | 10 readonly TEMP_DIR=$(mktemp -d) |
| 11 | 11 |
| 12 readonly COMPILER_PATH="${SCRIPT_DIR}/compiler/compiler.jar" | 12 readonly COMPILER_PATH="${SCRIPT_DIR}/compiler/compiler.jar" |
| 13 readonly EXTERNS_PATH="${SCRIPT_DIR}/externs/chrome_extensions.js" | 13 readonly EXTERNS_DIR="${SCRIPT_DIR}/externs" |
| 14 | 14 |
| 15 readonly README="${SCRIPT_DIR}/README.chromium" | 15 readonly README="${SCRIPT_DIR}/README.chromium" |
| 16 | 16 |
| 17 cleanup() { | 17 cleanup() { |
| 18 rm -rf "${TEMP_DIR}" | 18 rm -rf "${TEMP_DIR}" |
| 19 } | 19 } |
| 20 | 20 |
| 21 get_externs_sha1() { | 21 get_sha1() { |
| 22 sha1sum "${EXTERNS_PATH}" | cut -d' ' -f1 | 22 sha1sum "$1" | cut -d" " -f1 |
| 23 } | 23 } |
| 24 | 24 |
| 25 trap cleanup SIGINT SIGHUP SIGTERM | 25 trap cleanup SIGINT SIGHUP SIGTERM |
| 26 | 26 |
| 27 old_head=$(egrep -o '^Revision: [0-9a-f]{5,40}$' "${README}" | cut -d' ' -f2) | 27 old_head=$(egrep -o "^Revision: [0-9a-f]{5,40}$" "${README}" | cut -d" " -f2) |
| 28 old_externs_sha1=$(get_externs_sha1) | 28 old_extensions_sha1=$(get_sha1 "${EXTERNS_DIR}/chrome_extensions.js") |
| 29 old_polymer_sha1=$(get_sha1 "${EXTERNS_DIR}/polymer-1.0.js") |
| 29 | 30 |
| 30 cd "${TEMP_DIR}" | 31 cd "${TEMP_DIR}" |
| 31 | 32 |
| 32 echo "Cloning Closure Compiler repo" | 33 echo "Cloning Closure Compiler repo" |
| 33 git clone --depth 1 https://github.com/google/closure-compiler.git | 34 git clone --depth 1 https://github.com/google/closure-compiler.git |
| 34 | 35 |
| 35 cd closure-compiler | 36 cd closure-compiler |
| 36 | 37 |
| 37 new_head=$(git rev-parse HEAD) | 38 new_head=$(git rev-parse HEAD) |
| 38 | 39 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 60 cp build/compiler.jar "${COMPILER_PATH}" | 61 cp build/compiler.jar "${COMPILER_PATH}" |
| 61 | 62 |
| 62 echo "Re-building runner.jar" | 63 echo "Re-building runner.jar" |
| 63 "${SCRIPT_DIR}/runner/build_runner_jar.py" | 64 "${SCRIPT_DIR}/runner/build_runner_jar.py" |
| 64 if [[ "$?" -ne 0 ]]; then | 65 if [[ "$?" -ne 0 ]]; then |
| 65 echo "Failed to build runner.jar, roll unsuccessful" | 66 echo "Failed to build runner.jar, roll unsuccessful" |
| 66 cleanup | 67 cleanup |
| 67 exit 1 | 68 exit 1 |
| 68 fi | 69 fi |
| 69 | 70 |
| 70 (cat <<EOT && cat contrib/externs/chrome_extensions.js) > "${EXTERNS_PATH}" | 71 readonly WARNING="$(cat <<EOT |
| 71 // SSSSSSSSSSSSSSS TTTTTTTTTTTTTTTTTTTTTTT OOOOOOOOO PPPPPPPPPPPPPPPP
P | 72 // SSSSSSSSSSSSSSS TTTTTTTTTTTTTTTTTTTTTTT OOOOOOOOO PPPPPPPPPPPPPPPP
P |
| 72 // SS:::::::::::::::ST:::::::::::::::::::::T OO:::::::::OO P:::::::::::::::
:P | 73 // SS:::::::::::::::ST:::::::::::::::::::::T OO:::::::::OO P:::::::::::::::
:P |
| 73 // S:::::SSSSSS::::::ST:::::::::::::::::::::T OO:::::::::::::OO P::::::PPPPPP:::
::P | 74 // S:::::SSSSSS::::::ST:::::::::::::::::::::T OO:::::::::::::OO P::::::PPPPPP:::
::P |
| 74 // S:::::S SSSSSSST:::::TT:::::::TT:::::TO:::::::OOO:::::::OPP:::::P P::
:::P | 75 // S:::::S SSSSSSST:::::TT:::::::TT:::::TO:::::::OOO:::::::OPP:::::P P::
:::P |
| 75 // S:::::S TTTTTT T:::::T TTTTTTO::::::O O::::::O P::::P P::
:::P | 76 // S:::::S TTTTTT T:::::T TTTTTTO::::::O O::::::O P::::P P::
:::P |
| 76 // S:::::S T:::::T O:::::O O:::::O P::::P P::
:::P | 77 // S:::::S T:::::T O:::::O O:::::O P::::P P::
:::P |
| 77 // S::::SSSS P::::PPPPPP:::
::P | 78 // S::::SSSS P::::PPPPPP:::
::P |
| 78 // SS::::::SSSSS This file is generated. To update it, P:::::::::::::
PP | 79 // SS::::::SSSSS This file is generated. To update it, P:::::::::::::
PP |
| 79 // SSS::::::::SS run roll_closure_compiler. P::::PPPPPPPPP | 80 // SSS::::::::SS run roll_closure_compiler. P::::PPPPPPPPP |
| 80 // SSSSSS::::S P::::P | 81 // SSSSSS::::S P::::P |
| 81 // S:::::S T:::::T O:::::O O:::::O P::::P | 82 // S:::::S T:::::T O:::::O O:::::O P::::P |
| 82 // S:::::S T:::::T O::::::O O::::::O P::::P | 83 // S:::::S T:::::T O::::::O O::::::O P::::P |
| 83 // SSSSSSS S:::::S TT:::::::TT O:::::::OOO:::::::OPP::::::PP | 84 // SSSSSSS S:::::S TT:::::::TT O:::::::OOO:::::::OPP::::::PP |
| 84 // S::::::SSSSSS:::::S T:::::::::T OO:::::::::::::OO P::::::::P | 85 // S::::::SSSSSS:::::S T:::::::::T OO:::::::::::::OO P::::::::P |
| 85 // S:::::::::::::::SS T:::::::::T OO:::::::::OO P::::::::P | 86 // S:::::::::::::::SS T:::::::::T OO:::::::::OO P::::::::P |
| 86 // SSSSSSSSSSSSSSS TTTTTTTTTTT OOOOOOOOO PPPPPPPPPP | 87 // SSSSSSSSSSSSSSS TTTTTTTTTTT OOOOOOOOO PPPPPPPPPP |
| 87 EOT | 88 EOT |
| 89 )" |
| 88 | 90 |
| 89 new_externs_sha1=$(get_externs_sha1) | 91 (echo "${WARNING}" && cat contrib/externs/chrome_extensions.js) > "${EXTERNS_DIR
}/chrome_extensions.js" |
| 92 (echo "${WARNING}" && cat contrib/externs/polymer-1.0.js) > "${EXTERNS_DIR}/poly
mer-1.0.js" |
| 90 | 93 |
| 91 if [[ "${new_externs_sha1}" != "${old_externs_sha1}" ]]; then | 94 new_extensions_sha1=$(get_sha1 "${EXTERNS_DIR}/chrome_extensions.js") |
| 92 externs_range="chrome_extensions.js: ${old_externs_sha1} -> ${new_externs_sha1
}" | 95 if [[ "${new_extensions_sha1}" != "${old_extensions_sha1}" ]]; then |
| 96 extensions_range="chrome_extensions.js: ${old_extensions_sha1} -> ${new_extens
ions_sha1}" |
| 97 fi |
| 98 |
| 99 new_polymer_sha1=$(get_sha1 "${EXTERNS_DIR}/polymer-1.0.js") |
| 100 if [[ "${new_polymer_sha1}" != "${old_polymer_sha1}" ]]; then |
| 101 polymer_range="polymer-1.0.js: ${old_polymer_sha1} -> ${new_polymer_sha1}" |
| 93 fi | 102 fi |
| 94 | 103 |
| 95 echo | 104 echo |
| 96 echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" | 105 echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" |
| 97 echo "@" | 106 echo "@" |
| 98 echo "@ ROLL RESULTS:" | 107 echo "@ ROLL RESULTS:" |
| 99 echo "@" | 108 echo "@" |
| 100 echo "@ closure-compiler.git HEAD:" | 109 echo "@ closure-compiler.git HEAD:" |
| 101 echo "@ Old: ${old_head}" | 110 echo "@ Old: ${old_head}" |
| 102 echo "@ New: ${new_head}" | 111 echo "@ New: ${new_head}" |
| 103 echo "@" | 112 echo "@" |
| 104 echo "@ Externs SHA1:" | 113 echo "@ externs/chrome_extensions.js SHA1:" |
| 105 echo "@ Old: ${old_externs_sha1}" | 114 echo "@ Old: ${old_extensions_sha1}" |
| 106 echo "@ New: ${new_externs_sha1}" | 115 echo "@ New: ${new_extensions_sha1}" |
| 116 echo "@" |
| 117 echo "@ externs/polymer-1.0.js SHA1:" |
| 118 echo "@ Old: ${old_polymer_sha1}" |
| 119 echo "@ New: ${new_polymer_sha1}" |
| 107 echo "@" | 120 echo "@" |
| 108 echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" | 121 echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" |
| 109 echo | 122 echo |
| 110 | 123 |
| 111 sed -i "s/^Revision: ${old_head}$/Revision: ${new_head}/" "${README}" | 124 sed -i "s/^Revision: ${old_head}$/Revision: ${new_head}/" "${README}" |
| 112 | 125 |
| 113 echo "git commit -a -m 'Roll closure compiler" | 126 echo "git commit -a -m 'Roll closure compiler" |
| 114 echo | 127 echo |
| 115 echo "${head_range}" | 128 echo "${head_range}" |
| 116 if [[ ! -z "${externs_range}" ]]; then echo "${externs_range}"; fi | 129 if [[ ! -z "${extensions_range}" ]]; then echo "${extensions_range}"; fi |
| 130 if [[ ! -z "${polymer_range}" ]]; then echo "${polymer_range}"; fi |
| 117 echo | 131 echo |
| 118 echo "TBR=" | 132 echo "TBR=" |
| 119 echo "BUG='" | 133 echo "BUG='" |
| 120 echo | 134 echo |
| 121 echo "git cl upload" | 135 echo "git cl upload" |
| 122 | 136 |
| 123 cleanup | 137 cleanup |
| OLD | NEW |