diff options
author | bradnelson@google.com <bradnelson@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-03 20:19:32 +0000 |
---|---|---|
committer | bradnelson@google.com <bradnelson@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-03 20:19:32 +0000 |
commit | 3fccca99f7ef36f7e1fce649094cac1944cb11c0 (patch) | |
tree | 4df52a7511ff9848a16022e6a2a5d3c6b6f47e8e /chrome/common/extensions/docs/build/build.py | |
parent | 5a826acc884444c6cfa3a26adc89fe9cac99749e (diff) | |
download | chromium_src-3fccca99f7ef36f7e1fce649094cac1944cb11c0.zip chromium_src-3fccca99f7ef36f7e1fce649094cac1944cb11c0.tar.gz chromium_src-3fccca99f7ef36f7e1fce649094cac1944cb11c0.tar.bz2 |
Rolling back 22300.
Messy deps...
BUG=None
TEST=None
TBR=rafaelw
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22310 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/extensions/docs/build/build.py')
-rwxr-xr-x | chrome/common/extensions/docs/build/build.py | 164 |
1 files changed, 0 insertions, 164 deletions
diff --git a/chrome/common/extensions/docs/build/build.py b/chrome/common/extensions/docs/build/build.py deleted file mode 100755 index c9ea4dd..0000000 --- a/chrome/common/extensions/docs/build/build.py +++ /dev/null @@ -1,164 +0,0 @@ -#!/usr/bin/python -# Copyright (c) 2009 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. - -"""Docbuilder for extension docs.""" - -import os -import os.path -import shutil -import sys - -from subprocess import Popen, PIPE -from optparse import OptionParser - -_script_path = os.path.realpath(__file__) -_build_dir = os.path.dirname(_script_path) -_base_dir = os.path.normpath(_build_dir + "/..") -_static_dir = _base_dir + "/static" -_js_dir = _base_dir + "/js" -_template_dir = _base_dir + "/template" -_extension_api_dir = os.path.normpath(_base_dir + "/../api") - -_extension_api_json = _extension_api_dir + "/extension_api.json" -_api_template_html = _template_dir + "/api_template.html" -_page_shell_html = _template_dir + "/page_shell.html" -_generator_html = _build_dir + "/generator.html" - -_expected_output_preamble = "<!DOCTYPE html>" - -# HACK! This is required because we can only depend on python 2.4 and -# the calling environment may not be setup to set the PYTHONPATH -sys.path.append(os.path.normpath(_base_dir + - "/../../../../third_party/simplejson")) -import simplejson as json - -def RenderPage(name, test_shell): - """ - Calls test_shell --layout-tests .../generator.html?<name> and writes the - result to .../docs/<name>.html - """ - - if not name: - raise Exception("RenderPage called with empty name"); - - generator_url = _generator_html + "?" + name - output_file = _base_dir + "/" + name + ".html" - - # Copy page_shell to destination output; - if (os.path.isfile(output_file)): - os.remove(output_file) - - shutil.copy(_page_shell_html, output_file) - - # Run test_shell and capture result - p = Popen([test_shell, "--layout-tests", generator_url], shell=True, - stdout=PIPE) - - # first output line is url that was processed by test_shell - p.stdout.readline() - - # second output line is the layoutTestShell.dumpText() value. - result = p.stdout.readline() - if (not result.startswith(_expected_output_preamble)): - raise Exception("test_shell returned unexpected output: " + result); - - # Rewrite result - os.remove(output_file) - open(output_file, 'w').write(result) - -def FindTestShell(product_dir): - search_locations = [] - - if (sys.platform in ('cygwin', 'win32')): - search_locations.append(product_dir + "/test_shell.exe") - - if (sys.platform in ('linux', 'linux2')): - search_locations.append(product_dir + "/test_shell") - - if (sys.platform == 'darwin'): - search_locations.append(product_dir + - "/TestShell.app/Contents/MacOS/TestShell") - - for loc in search_locations: - if os.path.isfile(loc): - return loc - - print ("Failed to find test_shell executable in: \n" + - "\n".join(search_locations)) - - raise Exception('Could not find test_shell executable.') - -def GetRelativePath(path): - return os.path.normpath(path)[len(os.getcwd()) + 1:] - -def GetAPIModuleNames(): - contents = open(_extension_api_json, 'r').read(); - extension_api = json.loads(contents, encoding="ASCII") - return set( module['namespace'].encode() for module in extension_api) - -def GetStaticFileNames(): - static_files = os.listdir(_static_dir) - return set(os.path.splitext(file)[0] - for file in static_files - if file.endswith(".html")) - -def GetInputFiles(): - input_files = []; - - input_files.append(GetRelativePath(_api_template_html)); - input_files.append(GetRelativePath(_page_shell_html)); - input_files.append(GetRelativePath(_generator_html)); - input_files.append(GetRelativePath(_script_path)); - input_files.append(GetRelativePath(_extension_api_json)); - # static files - input_files += [GetRelativePath(_static_dir + "/" + name + ".html") - for name in GetStaticFileNames()] - # js files - input_files += [GetRelativePath(_js_dir + "/" + file) - for file in os.listdir(_js_dir)] - return input_files - -def GetOutputFiles(): - page_names = GetAPIModuleNames() | GetStaticFileNames() - return [GetRelativePath(_base_dir + "/" + name + ".html") - for name in page_names] - -def main(): - parser = OptionParser() - parser.add_option("--list-inputs", action="store_true", dest="list_inputs") - parser.add_option("--list-outputs", action="store_true", dest="list_outputs") - parser.add_option("--product-dir", dest="product_dir") - - (options, args) = parser.parse_args() - - # Return input list to gyp build target - if (options.list_inputs): - for f in GetInputFiles(): - print f - return 0; - # Return output list to gyp build target - if (options.list_outputs): - for f in GetOutputFiles(): - print f - return 0; - - test_shell = FindTestShell(options.product_dir) - - # Read static file names - static_names = GetStaticFileNames() - - # Read module names - module_names = GetAPIModuleNames() - - # All pages to generate - page_names = static_names | module_names - - for page in page_names: - RenderPage(page, test_shell); - - return 0; - -if __name__ == '__main__': - sys.exit(main())
\ No newline at end of file |