summaryrefslogtreecommitdiffstats
path: root/remoting/tools
diff options
context:
space:
mode:
authorgarykac@chromium.org <garykac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-15 00:14:18 +0000
committergarykac@chromium.org <garykac@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-15 00:14:18 +0000
commit57d86b9cf1db431837f879c0cb5ad98a74a5e83f (patch)
tree6ae010ba87eb7ac00277f2d0d2f450315f8c53eb /remoting/tools
parent969c22effa699a772fa970833808639b9d39c371 (diff)
downloadchromium_src-57d86b9cf1db431837f879c0cb5ad98a74a5e83f.zip
chromium_src-57d86b9cf1db431837f879c0cb5ad98a74a5e83f.tar.gz
chromium_src-57d86b9cf1db431837f879c0cb5ad98a74a5e83f.tar.bz2
[Chromoting] Update jscompile target to use JS files from gypi.
The old version parses the main.html file to get the list of JS files to verify. Since we're moving to auto-generate this file, we can safely get the Js files from the same gypi since that's the same source being used to generate the HTML file. This also adds the WCS sandbox files to the list of JS files being checked -- they were not being checked as part of the old target because they are not used in the main.html file. BUG= R=jamiewalch@chromium.org Review URL: https://codereview.chromium.org/163953011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251446 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/tools')
-rwxr-xr-xremoting/tools/htmlcompile.py79
-rwxr-xr-xremoting/tools/jscompile.py49
2 files changed, 49 insertions, 79 deletions
diff --git a/remoting/tools/htmlcompile.py b/remoting/tools/htmlcompile.py
deleted file mode 100755
index 9fcb5a7..0000000
--- a/remoting/tools/htmlcompile.py
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/usr/bin/python
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import argparse
-from HTMLParser import HTMLParser
-import subprocess
-import sys
-import os
-
-DESCRIPTION = '''Extract the <script> tags from the specified html file and
-run them through jscompile, along with any additional JS files specified.'''
-FILES_HELP = '''A list of HTML or Javascript files. The Javascript files should
-contain definitions of types or functions that are known to Chrome but not to
-jscompile; they are added to the list of <script> tags found in each of the
-HTML files.'''
-STAMP_HELP = 'Timestamp file to update on success.'
-
-class ScriptTagParser(HTMLParser):
- def __init__(self):
- HTMLParser.__init__(self)
- self.scripts = []
-
- def handle_starttag(self, tag, attrs):
- if tag == 'script':
- for (name, value) in attrs:
- if name == 'src':
- self.scripts.append(value)
-
-
-def parseHtml(html_file, js_proto_files):
- src_dir = os.path.split(html_file)[0]
- f = open(html_file, 'r')
- html = f.read()
- parser = ScriptTagParser();
- parser.feed(html)
- scripts = []
- for script in parser.scripts:
- # Ignore non-local scripts
- if not '://' in script:
- scripts.append(os.path.join(src_dir, script))
-
- args = ['jscompile'] + scripts + js_proto_files
- result = subprocess.call(args)
- return result == 0
-
-
-def main():
- parser = argparse.ArgumentParser(description = DESCRIPTION)
- parser.add_argument('files', nargs = '+', help = FILES_HELP)
- parser.add_argument('--success-stamp', dest = 'success_stamp',
- help = STAMP_HELP)
- options = parser.parse_args()
-
- html = []
- js = []
- for file in options.files:
- name, extension = os.path.splitext(file)
- if extension == '.html':
- html.append(file)
- elif extension == '.js':
- js.append(file)
- else:
- print >> sys.stderr, 'Unknown extension (' + extension + ') for ' + file
- return 1
-
- for html_file in html:
- if not parseHtml(html_file, js):
- return 1
-
- if options.success_stamp:
- with open(options.success_stamp, 'w'):
- os.utime(options.success_stamp, None)
-
- return 0
-
-if __name__ == '__main__':
- sys.exit(main())
diff --git a/remoting/tools/jscompile.py b/remoting/tools/jscompile.py
new file mode 100755
index 0000000..0f06964
--- /dev/null
+++ b/remoting/tools/jscompile.py
@@ -0,0 +1,49 @@
+#!/usr/bin/python
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import argparse
+import subprocess
+import sys
+import os
+
+DESCRIPTION = '''Run the given JavaScript files through jscompile.'''
+FILES_HELP = '''A list of Javascript files. The Javascript files should include
+files that contain definitions of types or functions that are known to Chrome
+but not to jscompile.'''
+STAMP_HELP = 'Timestamp file to update on success.'
+
+def checkJavascript(js_files):
+ args = ['jscompile'] + js_files
+ result = subprocess.call(args)
+ return result == 0
+
+
+def main():
+ parser = argparse.ArgumentParser(description = DESCRIPTION)
+ parser.add_argument('files', nargs = '+', help = FILES_HELP)
+ parser.add_argument('--success-stamp', dest = 'success_stamp',
+ help = STAMP_HELP)
+ options = parser.parse_args()
+
+ js = []
+ for file in options.files:
+ name, extension = os.path.splitext(file)
+ if extension == '.js':
+ js.append(file)
+ else:
+ print >> sys.stderr, 'Unknown extension (' + extension + ') for ' + file
+ return 1
+
+ if not checkJavascript(js):
+ return 1
+
+ if options.success_stamp:
+ with open(options.success_stamp, 'w'):
+ os.utime(options.success_stamp, None)
+
+ return 0
+
+if __name__ == '__main__':
+ sys.exit(main())