1 #!/bin/bash 2 # 3 # Copyright 2014 The Chromium Authors. All rights reserved. 4 # Use of this source code is governed by a BSD-style license that can be 5 # found in the LICENSE file. 6 # 7 8 # Clones the dom-distiller repo, compiles and extracts its javascript Then 9 # copies that js into the Chromium tree. 10 # This script should be run from the src/ directory and requires that ant is 11 # installed. 12 13 ( 14 dom_distiller_js_path=third_party/dom_distiller_js 15 dom_distiller_js_package=$dom_distiller_js_path/package 16 readme_chromium=$dom_distiller_js_path/README.chromium 17 tmpdir=/tmp/domdistiller-$$ 18 changes=$tmpdir/domdistiller.changes 19 bugs=$tmpdir/domdistiller.bugs 20 curr_gitsha=$(grep 'Version:' $readme_chromium | awk '{print $2}') 21 22 rm -rf $tmpdir 23 mkdir $tmpdir 24 25 pushd $tmpdir 26 git clone https://code.google.com/p/dom-distiller/ . 27 28 new_gitsha=$(git rev-parse --short=10 HEAD) 29 git log --oneline ${curr_gitsha}.. > $changes 30 31 echo -n BUG= > $bugs 32 33 # This extracts BUG= lines from the log, extracts the numbers part, removes 34 # whitespace and deletes empty lines. Then, split on ',', sort, uniquify and 35 # rejoin. Finally, remove the trailing ',' and concat to $bugs. 36 git log ${curr_gitsha}.. \ 37 | grep BUG= \ 38 | sed -e 's/.*BUG=\(.*\)/\1/' -e 's/\s*//g' -e '/^$/d' \ 39 | tr ',' '\n' \ 40 | sort \ 41 | uniq \ 42 | tr '\n' ',' \ 43 | head --bytes=-1 \ 44 >> $bugs 45 46 echo >> $bugs # add a newline 47 48 ant package 49 popd 50 51 rm -rf $dom_distiller_js_package 52 mkdir $dom_distiller_js_package 53 cp -rf $tmpdir/out/package/* $dom_distiller_js_package 54 cp $tmpdir/LICENSE $dom_distiller_js_path/ 55 sed -i "s/Version: [0-9a-f]*/Version: $new_gitsha/" $readme_chromium 56 57 echo 58 echo 59 echo "---Generated commit message---" 60 echo 61 echo "Picked up changes:" 62 cat $changes 63 echo 64 cat $bugs 65 66 # Run checklicenses.py on the pulled files, but only print the output on 67 # failures. 68 tools/checklicenses/checklicenses.py $dom_distiller_js_path > $tmpdir/checklicenses.out || cat $tmpdir/checklicenses.out 69 70 rm -rf $tmpdir 71 ) 72