Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(524)

Side by Side Diff: gce/uploader_iteration.sh

Issue 1351373003: [chrome-devtools-frontend] Use full Chromium checkout (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/chrome-devtools-frontend
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « gce/uploader_helper.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2013 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 # This enables bash to treat any unhandled non-zero exit codes as "exceptions" 6 # This enables bash to treat any unhandled non-zero exit codes as "exceptions"
7 set -e 7 set -e
8 source $(dirname $0)/uploader_exit_codes.sh 8 source $(dirname $0)/uploader_exit_codes.sh
9 9
10 mark_step() { 10 mark_step() {
11 echo "$*" 11 echo "$*"
12 echo '=====================' 12 echo '====================='
13 } 13 }
14 14
15 unlock_git_repo() {
16 local git_index_lock=".git/index.lock"
17 if [ -e "$git_index_lock" ]; then
18 # Can be left over from an interrupted iteration.
19 # Safe to remove unless someone is trying to run two iterations in parallel.
20 echo "!!! Warning: removing Git index lock in $1 repo !!!"
21 rm -f "$git_index_lock"
22 fi
23 }
24
15 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 25 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
16 26
17 mark_step 'Moving to the source code directory' 27 mark_step 'Moving to the source code directory'
18 SOURCE_DIR=/uploader/src 28 SOURCE_DIR=/uploader/src/chrome
19 cd "$SOURCE_DIR" 29 cd "$SOURCE_DIR"
20 30
31 mark_step 'Updating chromium'
32 unlock_git_repo Chromium || exit $EXIT_CHROMIUM_UPDATE
33 git reset --hard master || exit $EXIT_CHROMIUM_UPDATE
34 git pull || exit $EXIT_CHROMIUM_UPDATE
35 CHROMIUM_GYP_REVISION="$(cat DEPS | $SCRIPT_DIR/uploader_helper.py --find_projec t_revision='src/tools/gyp')"
36
21 mark_step 'Updating gyp' 37 mark_step 'Updating gyp'
22 pushd gyp 38 pushd tools/gyp
23 CHROMIUM_DEPS=$(curl -fsS http://src.chromium.org/chrome/trunk/src/DEPS) || exit $EXIT_GYP_UPDATE 39 unlock_git_repo Gyp
24 CHROMIUM_GYP_REVISION="$(echo "$CHROMIUM_DEPS" | $SCRIPT_DIR/uploader_helper.py --find_project_revision='src/tools/gyp')" 40 git fetch || exit $EXIT_GYP_UPDATE
25 svn cleanup || exit $EXIT_GYP_UPDATE 41 git reset --hard $CHROMIUM_GYP_REVISION || exit $EXIT_GYP_UPDATE
26 svn up -r $CHROMIUM_GYP_REVISION || exit $EXIT_GYP_UPDATE
27 popd 42 popd
28 43
29 mark_step 'Getting the last Blink revision for which the frontend has been uploa ded' 44 mark_step 'Getting the last Blink revision for which the frontend has been uploa ded'
30 GS_PATH=gs://chrome-devtools-frontend 45 GS_PATH=gs://chrome-devtools-frontend
31 KNOWN_REVISIONS_DIR="$GS_PATH/revs" 46 KNOWN_REVISIONS_DIR="$GS_PATH/revs"
32 ALL_UPLOADED_REVS=$(gsutil ls "$KNOWN_REVISIONS_DIR") || exit $EXIT_LAST_UPLOADE D_BLINK_REV 47 ALL_UPLOADED_REVS=$(gsutil ls "$KNOWN_REVISIONS_DIR") || exit $EXIT_LAST_UPLOADE D_BLINK_REV
33 LAST_BLINK_REVISION=$(echo "$ALL_UPLOADED_REVS" | sed -e "s#^$KNOWN_REVISIONS_DI R/@##" | sort -nr | head -n 1) 48 LAST_BLINK_REVISION=$(echo "$ALL_UPLOADED_REVS" | sed -e "s#^$KNOWN_REVISIONS_DI R/@##" | sort -nr | head -n 1)
34 if [ -z "$LAST_BLINK_REVISION" ]; then 49 if [ -z "$LAST_BLINK_REVISION" ]; then
35 exit $EXIT_LAST_UPLOADED_BLINK_REV 50 exit $EXIT_LAST_UPLOADED_BLINK_REV
36 fi 51 fi
37 echo "Last uploaded was for Blink revision $LAST_BLINK_REVISION" 52 echo "Last uploaded was for Blink revision $LAST_BLINK_REVISION"
38 53
39 mark_step 'Getting Blink revisions blacklist' 54 mark_step 'Getting Blink revisions blacklist'
40 BLINK_REVISIONS_BLACKLIST_FILE=$GS_PATH/blink_revisions_blacklist 55 BLINK_REVISIONS_BLACKLIST_FILE=$GS_PATH/blink_revisions_blacklist
41 BLINK_REVISIONS_BLACKLIST="" 56 BLINK_REVISIONS_BLACKLIST=""
42 if gsutil ls "$BLINK_REVISIONS_BLACKLIST_FILE"; then 57 if gsutil ls "$BLINK_REVISIONS_BLACKLIST_FILE"; then
43 BLINK_REVISIONS_BLACKLIST=$(gsutil cat "$BLINK_REVISIONS_BLACKLIST_FILE") 58 BLINK_REVISIONS_BLACKLIST=$(gsutil cat "$BLINK_REVISIONS_BLACKLIST_FILE")
44 fi 59 fi
45 60
46 mark_step 'Working out SVN revisions list' 61 mark_step 'Working out SVN revisions list'
47 pushd blink 62 pushd third_party/WebKit
48 git fetch || exit $EXIT_BLINK_UPDATE 63 git fetch || exit $EXIT_BLINK_UPDATE
49 HEAD_BLINK_REVISION=$(git log -n 1 --all --grep="git-svn-id:" --pretty=medium | grep -Po "git-svn-id:[^@]*@\d+" | grep -Po "@\d+" | grep -Po "\d+") 64 HEAD_BLINK_REVISION=$(git log -n 1 --all --grep="git-svn-id:" --pretty=medium | grep -Po "git-svn-id:[^@]*@\d+" | grep -Po "@\d+" | grep -Po "\d+")
50 popd 65 popd
51 echo "Last committed was Blink revision $HEAD_BLINK_REVISION" 66 echo "Last committed was Blink revision $HEAD_BLINK_REVISION"
52 REVISION_LIST=$(seq $[LAST_BLINK_REVISION+1] $HEAD_BLINK_REVISION) 67 REVISION_LIST=$(seq $[LAST_BLINK_REVISION+1] $HEAD_BLINK_REVISION)
53 if [ -z "$REVISION_LIST" ]; then 68 if [ -z "$REVISION_LIST" ]; then
54 exit $EXIT_NO_UPDATED_BRANCHES 69 exit $EXIT_NO_UPDATED_BRANCHES
55 fi 70 fi
56 71
57 mark_step 'Building DevTools frontend for revisions and uploading to Cloud Stora ge' 72 mark_step 'Building DevTools frontend for revisions and uploading to Cloud Stora ge'
58 for REVISION in $REVISION_LIST; do 73 for REVISION in $REVISION_LIST; do
59 LOCAL_STORAGE_DIR=/uploader/storage 74 LOCAL_STORAGE_DIR=/uploader/storage
60 if [ -d $LOCAL_STORAGE_DIR ]; then 75 if [ -d $LOCAL_STORAGE_DIR ]; then
61 rm -rf $LOCAL_STORAGE_DIR 76 rm -rf $LOCAL_STORAGE_DIR
62 fi 77 fi
63 ZIPS_DIR="$LOCAL_STORAGE_DIR/zips" 78 ZIPS_DIR="$LOCAL_STORAGE_DIR/zips"
64 REVS_DIR="$LOCAL_STORAGE_DIR/revs" 79 REVS_DIR="$LOCAL_STORAGE_DIR/revs"
65 META_DIR="$LOCAL_STORAGE_DIR/meta" 80 META_DIR="$LOCAL_STORAGE_DIR/meta"
66 HASH_DIR="$LOCAL_STORAGE_DIR/hash" 81 HASH_DIR="$LOCAL_STORAGE_DIR/hash"
67 mkdir -p $ZIPS_DIR $REVS_DIR $META_DIR $HASH_DIR 82 mkdir -p $ZIPS_DIR $REVS_DIR $META_DIR $HASH_DIR
68 83
69 if echo "$BLINK_REVISIONS_BLACKLIST" | grep -w $REVISION; then 84 if echo "$BLINK_REVISIONS_BLACKLIST" | grep -w $REVISION; then
70 echo "Revision $REVISION is in the blacklist, skipping over" 85 echo "Revision $REVISION is in the blacklist, skipping over"
71 continue 86 continue
72 fi 87 fi
73 88
74 pushd blink 89 pushd third_party/WebKit
75 REVISION_COMMIT=$(git log -n 1 --all --grep="git-svn-id:[^@]*@$REVISION" --p retty=oneline | awk '{ print $1; }') 90 REVISION_COMMIT=$(git log -n 1 --all --grep="git-svn-id:[^@]*@$REVISION" --p retty=oneline | awk '{ print $1; }')
76 if [ -z "$REVISION_COMMIT" ]; then 91 if [ -z "$REVISION_COMMIT" ]; then
77 echo "@$REVISION ==> missing!" 92 echo "@$REVISION ==> missing!"
78 popd 93 popd
79 continue 94 continue
80 fi 95 fi
81 echo "@$REVISION ==> $REVISION_COMMIT" 96 echo "@$REVISION ==> $REVISION_COMMIT"
82 GIT_INDEX_LOCK=".git/index.lock" 97 unlock_git_repo Blink || exit $EXIT_BLINK_UPDATE
83 if [ -e "$GIT_INDEX_LOCK" ]; then
84 # Can be left over from an interrupted iteration.
85 # Safe to remove unless someone is trying to run two iterations in paral lel.
86 echo "!!! Warning: removing Git index lock !!!"
87 rm -f "$GIT_INDEX_LOCK" || exit $EXIT_BLINK_UPDATE
88 fi
89 git reset --hard $REVISION_COMMIT || exit $EXIT_BLINK_UPDATE 98 git reset --hard $REVISION_COMMIT || exit $EXIT_BLINK_UPDATE
90 99
91 # Exclude "trunk" to work around branches that accidentally have a second 100 # Exclude "trunk" to work around branches that accidentally have a second
92 # copy of Blink sources inside it. See http://crbug.com/450975 101 # copy of Blink sources inside it. See http://crbug.com/450975
93 DEVTOOLS_GYP=$(find . -type f -name devtools.gyp -not -path "*/trunk/*") 102 DEVTOOLS_GYP=$(find . -type f -name devtools.gyp -not -path "*/trunk/*")
94 if [ -z "$DEVTOOLS_GYP" ]; then 103 if [ -z "$DEVTOOLS_GYP" ]; then
95 exit $EXIT_DEVTOOLS_GYP_FILE 104 exit $EXIT_DEVTOOLS_GYP_FILE
96 fi 105 fi
97 if [ -d ../devtools-frontend ]; then 106 if [ -d ../../out ]; then
98 rm -rf ../devtools-frontend 107 rm -rf ../../out
99 fi 108 fi
100 DEVTOOLS_DIR=$(dirname "$DEVTOOLS_GYP") 109 DEVTOOLS_DIR=$(dirname "$DEVTOOLS_GYP")
101 GYP_GENERATORS=ninja ../gyp/gyp --toplevel-dir="$DEVTOOLS_DIR" --depth=../.. /../../devtools-frontend --generator-output=../../../../devtools-frontend "$DEVT OOLS_GYP" || exit $EXIT_GYP_DEVTOOLS 110 #TODO: need to calculate depth and output paths based on DEVTOOLS_DIR nestin g level
111 GYP_GENERATORS=ninja ../../tools/gyp/gyp --toplevel-dir="$DEVTOOLS_DIR" --de pth=../../../.. --generator-output=../../../.. "$DEVTOOLS_GYP" || exit $EXIT_GYP _DEVTOOLS
102 popd 112 popd
103 113
104 LASTCHANGE_DIR="$SOURCE_DIR/../build/util" 114 LASTCHANGE_FILE="build/util/LASTCHANGE.blink"
105 LASTCHANGE_FILE="$LASTCHANGE_DIR/LASTCHANGE.blink"
106 mkdir -p $LASTCHANGE_DIR
107 echo "LASTCHANGE=$REVISION" > $LASTCHANGE_FILE 115 echo "LASTCHANGE=$REVISION" > $LASTCHANGE_FILE
108 116
109 ninja -C devtools-frontend/out/Default devtools_frontend_resources || exit $ EXIT_BUILD_FRONTEND 117 ninja -C out/Default devtools_frontend_resources || exit $EXIT_BUILD_FRONTEN D
110 ZIP_FILE_NAME=devtools_frontend.zip 118 ZIP_FILE_NAME=devtools_frontend.zip
111 ZIP_FILE=$(pwd)/devtools-frontend/$ZIP_FILE_NAME 119 ZIP_FILE=$(pwd)/out/$ZIP_FILE_NAME
112 120
113 pushd devtools-frontend/out/Default/resources/inspector 121 pushd out/Default/resources/inspector
114 # Create an AppCache manifest and patch devtools.html and / or inspector.htm l to point to it 122 # Create an AppCache manifest and patch devtools.html and / or inspector.htm l to point to it
115 MANIFEST_FILE_NAME=$REVISION.manifest 123 MANIFEST_FILE_NAME=$REVISION.manifest
116 FALLBACK_ENTRIES= 124 FALLBACK_ENTRIES=
117 for DEVTOOLS_MAIN_HTML in devtools.html inspector.html; do 125 for DEVTOOLS_MAIN_HTML in devtools.html inspector.html; do
118 if [ ! -f "$DEVTOOLS_MAIN_HTML" ]; then 126 if [ ! -f "$DEVTOOLS_MAIN_HTML" ]; then
119 continue 127 continue
120 fi 128 fi
121 sed -i -e 's/^<html>/<html manifest="'$MANIFEST_FILE_NAME'">/' $DEVTOOLS _MAIN_HTML 129 sed -i -e 's/^<html>/<html manifest="'$MANIFEST_FILE_NAME'">/' $DEVTOOLS _MAIN_HTML
122 FALLBACK_ENTRIES="$FALLBACK_ENTRIES $DEVTOOLS_MAIN_HTML" 130 FALLBACK_ENTRIES="$FALLBACK_ENTRIES $DEVTOOLS_MAIN_HTML"
123 done 131 done
(...skipping 23 matching lines...) Expand all
147 155
148 popd 156 popd
149 157
150 ZIP_SHA1=$(sha1sum $ZIP_FILE | awk '{print $1}') 158 ZIP_SHA1=$(sha1sum $ZIP_FILE | awk '{print $1}')
151 mv $ZIP_FILE "$ZIPS_DIR/$ZIP_SHA1.zip" 159 mv $ZIP_FILE "$ZIPS_DIR/$ZIP_SHA1.zip"
152 echo "$ZIP_SHA1" > "$REVS_DIR/@$REVISION" 160 echo "$ZIP_SHA1" > "$REVS_DIR/@$REVISION"
153 161
154 # Comment out the line below for testing. 162 # Comment out the line below for testing.
155 gsutil -m cp -R $LOCAL_STORAGE_DIR/* $GS_PATH || exit $EXIT_CS_UPLOAD 163 gsutil -m cp -R $LOCAL_STORAGE_DIR/* $GS_PATH || exit $EXIT_CS_UPLOAD
156 done 164 done
OLDNEW
« no previous file with comments | « gce/uploader_helper.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698