Adding Peter Thatcher to the owners file.
[chromium-blink-merge.git] / third_party / polymer / extract_inline_scripts.sh
blobc54690bd4723aa5d2471a9ad66a7c5c2d24d1751
1 #!/bin/bash
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.
7 set -e
9 if [ "$#" -ne 2 ]
10 then
11 echo "Usage: $0 <src_dir> <dst_dir>"
12 echo
13 echo "Copies <src_dir> to <dst_dir> and extracts all inline scripts from" \
14 "Polymer HTML files found in the destination directory to separate JS" \
15 "files. A JS file extracted from the file with name 'foo.html' will" \
16 "have a name 'foo-extracted.js'. Inclusion of the script file will be" \
17 "added to 'foo.html': '<script src=\"foo-extracted.js\"></script>'."
18 exit 1
21 src="$1"
22 dst="$2"
24 if [ -e "$dst" ]
25 then
26 echo "ERROR: '$dst' already exists. Please remove it before running the" \
27 "script." 1>&2
28 exit 1
31 cp -r "$src" "$dst"
32 find "$dst" -name "*.html" \
33 -not -path "*/demos/*" \
34 -not -path "*/test/*" \
35 -not -path "*/tests/*" \
36 -not -name "demo*.html" \
37 -not -name "index.html" \
38 -not -name "metadata.html" | \
39 xargs grep -l "<script>" | \
40 while read original_html_name
42 dir=$(dirname "$original_html_name")
43 name=$(basename "$original_html_name" .html)
45 html_without_js="$dir/$name-extracted.html"
46 extracted_js="$dir/$name-extracted.js"
47 vulcanize -o "$html_without_js" --csp --config vulcanize_config.json \
48 --no-strip-excludes "$original_html_name" 1>&2
49 mv "$html_without_js" "$original_html_name"
50 done