OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 # Copyright 2014 Google Inc. | 2 # Copyright 2014 Google Inc. |
3 # | 3 # |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 # Syncs //depot/google3/third_party/skia/HEAD to the last known good revision of | 7 # Syncs //depot/google3/third_party/skia/HEAD to the last known good revision of |
8 # Skia. If this script is not run from a Piper client, creates a new CitC | 8 # Skia. If this script is not run from a Piper client, creates a new CitC |
9 # client. Also updates README.google. | 9 # client. Also updates README.google. |
10 # | 10 # |
11 # Usage: | 11 # Usage: |
12 # ./tools/sync_google3.sh | 12 # ./tools/sync_google3.sh |
13 | 13 |
14 source gbash.sh || exit | 14 prodcertstatus -q || (echo "Please run prodaccess." 1>&2; exit 1) |
| 15 source gbash.sh || exit 2 |
15 | 16 |
16 set -x -e | 17 set -e |
17 | 18 |
18 MY_DIR="$(gbash::get_absolute_caller_dir)" | 19 MY_DIR="$(gbash::get_absolute_caller_dir)" |
19 LKGR="$(${MY_DIR}/get_skia_lkgr.sh)" | 20 LKGR="$(${MY_DIR}/get_skia_lkgr.sh)" |
20 | 21 |
21 gbash::get_google3_dir && GOOGLE3="$(gbash::get_google3_dir)" | 22 gbash::get_google3_dir && GOOGLE3="$(gbash::get_google3_dir)" |
22 if [ -z "${GOOGLE3}" ]; then | 23 if [ -z "${GOOGLE3}" ]; then |
23 CLIENT_NAME="sync_skia_$(date '+%F-%H-%M-%S')" | 24 CLIENT_NAME="sync_skia_$(date '+%F-%H-%M-%S')" |
24 ${MY_DIR}/create_skia_google3_client.sh "${CLIENT_NAME}" | 25 ${MY_DIR}/create_skia_google3_client.sh "${CLIENT_NAME}" |
25 GOOGLE3="/google/src/cloud/${USER}/${CLIENT_NAME}/google3" | 26 GOOGLE3="/google/src/cloud/${USER}/${CLIENT_NAME}/google3" |
26 fi | 27 fi |
27 cd "${GOOGLE3}/third_party/skia/HEAD" | 28 cd "${GOOGLE3}/third_party/skia/HEAD" |
28 ${MY_DIR}/git_clone_to_google3.sh --skia_rev "${LKGR}" | 29 ${MY_DIR}/git_clone_to_google3.sh --skia_rev "${LKGR}" |
29 | 30 |
| 31 echo "Synced client ${CLIENT_NAME} to ${LKGR}" |
| 32 |
30 # Update README.google. | 33 # Update README.google. |
31 sed --in-place "s/^Version: .*/Version: ${LKGR}/" README.google | 34 sed --in-place "s/^Version: .*/Version: ${LKGR}/" README.google |
32 sed --in-place "s/URL: http:\/\/skia.googlesource.com\/skia\/+archive\/.*\.tar\.
gz/URL: http:\/\/skia.googlesource.com\/skia\/+archive\/${LKGR}.tar.gz/" README.
google | 35 sed --in-place "s/URL: http:\/\/skia.googlesource.com\/skia\/+archive\/.*\.tar\.
gz/URL: http:\/\/skia.googlesource.com\/skia\/+archive\/${LKGR}.tar.gz/" README.
google |
33 CURRENT_DATE=`date '+%d %B %Y'` | 36 CURRENT_DATE=`date '+%d %B %Y'` |
34 echo "Updated using sync_google3.sh on $CURRENT_DATE by $USER@google.com" >> REA
DME.google | 37 echo "Updated using sync_google3.sh on $CURRENT_DATE by $USER@google.com" >> REA
DME.google |
35 | 38 |
36 # Add README.google to the default change. | 39 # Add README.google to the default change. |
37 g4 reopen | 40 g4 reopen |
38 # Create a new CL. | 41 # Create a new CL. |
39 CHANGE="$(g4 change --desc "Update skia HEAD to ${LKGR}.")" | 42 CHANGE="$(g4 change --desc "Update skia HEAD to ${LKGR}.")" |
40 CL="$(echo "${CHANGE}" | sed "s/Change \([0-9]\+\) created.*/\1/")" | 43 CL="$(echo "${CHANGE}" | sed "s/Change \([0-9]\+\) created.*/\1/")" |
41 | 44 |
42 # Run TAP. | 45 echo "Created CL ${CL} (http://cl/${CL})" |
43 tap_presubmit -c "${CL}" -p skia | 46 |
| 47 # Run presubmit (will run TAP tests). |
| 48 if g4 presubmit -c "${CL}"; then |
| 49 echo "CL is ready for review and submit at http://cl/${CL}" |
| 50 else |
| 51 echo "Presubmit failed for CL ${CL} in client ${CLIENT_NAME}" 1>&2 |
| 52 exit 3 |
| 53 fi |
OLD | NEW |