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

Unified Diff: client/dom/scripts/dartdomgenerator.py

Issue 9845043: Rename client/{dom,html} to lib/{dom,html} . (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « client/dom/scripts/all_tests.py ('k') | client/dom/scripts/dartgenerator.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: client/dom/scripts/dartdomgenerator.py
===================================================================
--- client/dom/scripts/dartdomgenerator.py (revision 5796)
+++ client/dom/scripts/dartdomgenerator.py (working copy)
@@ -1,195 +0,0 @@
-#!/usr/bin/python
-# Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
-# for details. All rights reserved. Use of this source code is governed by a
-# BSD-style license that can be found in the LICENSE file.
-
-"""This is the entry point to create Dart APIs from the IDL database."""
-
-import dartgenerator
-import database
-import logging.config
-import optparse
-import os
-import shutil
-import subprocess
-import sys
-
-_logger = logging.getLogger('dartdomgenerator')
-
-_webkit_renames = {
- # W3C -> WebKit name conversion
- # TODO(vsm): Maybe Store these renames in the IDLs.
- 'ApplicationCache': 'DOMApplicationCache',
- 'BarProp': 'BarInfo',
- 'DedicatedWorkerGlobalScope': 'DedicatedWorkerContext',
- 'FormData': 'DOMFormData',
- 'Selection': 'DOMSelection',
- 'SharedWorkerGlobalScope': 'SharedWorkerContext',
- 'Window': 'DOMWindow',
- 'WorkerGlobalScope': 'WorkerContext'}
-
-_html_strip_webkit_prefix_classes = [
- 'Animation',
- 'AnimationEvent',
- 'AnimationList',
- 'BlobBuilder',
- 'CSSKeyframeRule',
- 'CSSKeyframesRule',
- 'CSSMatrix',
- 'CSSTransformValue',
- 'Flags',
- 'LoseContext',
- 'Point',
- 'TransitionEvent']
-
-def HasAncestor(interface, names_to_match, database):
- for parent in interface.parents:
- if (parent.type.id in names_to_match or
- (database.HasInterface(parent.type.id) and
- HasAncestor(database.GetInterface(parent.type.id), names_to_match,
- database))):
- return True
- return False
-
-def _MakeHtmlRenames(common_database):
- html_renames = {}
-
- for interface in common_database.GetInterfaces():
- if (interface.id.startswith("HTML") and
- HasAncestor(interface, ['Element', 'Document'], common_database)):
- html_renames[interface.id] = interface.id[4:]
-
- for subclass in _html_strip_webkit_prefix_classes:
- html_renames['WebKit' + subclass] = subclass
-
- # TODO(jacobr): we almost want to add this commented out line back.
- # html_renames['HTMLCollection'] = 'ElementList'
- # html_renames['NodeList'] = 'ElementList'
- # html_renames['HTMLOptionsCollection'] = 'ElementList'
- html_renames['DOMWindow'] = 'Window'
-
- return html_renames
-
-def GenerateDOM(systems, generate_html_systems, output_dir, use_database_cache):
- current_dir = os.path.dirname(__file__)
-
- generator = dartgenerator.DartGenerator(
- auxiliary_dir=os.path.join(current_dir, '..', 'src'),
- template_dir=os.path.join(current_dir, '..', 'templates'),
- base_package='')
- generator.LoadAuxiliary()
-
- common_database = database.Database(
- os.path.join(current_dir, '..', 'database'))
- if use_database_cache:
- common_database.LoadFromCache()
- else:
- common_database.Load()
- # Remove these types since they are mapped directly to dart.
- common_database.DeleteInterface('DOMStringMap')
- common_database.DeleteInterface('DOMStringList')
-
- generator.RenameTypes(common_database, {
- # W3C -> Dart renames
- 'AbstractView': 'Window',
- 'Function': 'EventListener',
- 'DOMStringMap': 'Map<String, String>',
- 'DOMStringList': 'List<String>',
- }, False)
- generator.FilterMembersWithUnidentifiedTypes(common_database)
- webkit_database = common_database.Clone()
-
- # Generate Dart interfaces for the WebKit DOM.
- generator.FilterInterfaces(database = webkit_database,
- or_annotations = ['WebKit', 'Dart'],
- exclude_displaced = ['WebKit'],
- exclude_suppressed = ['WebKit', 'Dart'])
- generator.RenameTypes(webkit_database, _webkit_renames, False)
-
- if generate_html_systems:
- html_renames = _MakeHtmlRenames(common_database)
- generator.RenameTypes(webkit_database, html_renames, True)
- html_renames_inverse = dict((v,k) for k, v in html_renames.iteritems())
- else:
- html_renames_inverse = {}
-
- webkit_renames_inverse = dict((v,k) for k, v in _webkit_renames.iteritems())
-
- generator.Generate(database = webkit_database,
- output_dir = output_dir,
- lib_dir = output_dir,
- module_source_preference = ['WebKit', 'Dart'],
- source_filter = ['WebKit', 'Dart'],
- super_database = common_database,
- common_prefix = 'common',
- super_map = webkit_renames_inverse,
- html_map = html_renames_inverse,
- systems = systems)
-
- generator.Flush()
-
- if 'frog' in systems:
- _logger.info('Copy dom_frog to frog/')
- subprocess.call(['cd ../generated ; '
- '../../tools/copy_dart.py ../frog dom_frog.dart'],
- shell=True);
-
- if 'htmlfrog' in systems:
- _logger.info('Copy html_frog to ../html/frog/')
- subprocess.call(['cd ../../html/generated ; '
- '../../tools/copy_dart.py ../frog html_frog.dart'],
- shell=True);
-
- if 'htmldartium' in systems:
- _logger.info('Copy html_dartium to ../html/dartium/')
- subprocess.call(['cd ../../html/generated ; '
- '../../tools/copy_dart.py ../dartium html_dartium.dart'],
- shell=True);
-
- # Copy dummy DOM where dartc build expects it.
- if 'dummy' in systems:
- _logger.info('Copy dom_dummy to dom.dart')
- subprocess.call(['cd ../generated ; '
- '../../tools/copy_dart.py dummy dom_dummy.dart ;'
- 'cp dummy/dom_dummy.dart ../dom.dart'],
- shell=True);
-
-def main():
- parser = optparse.OptionParser()
- parser.add_option('--systems', dest='systems',
- action='store', type='string',
- default='frog,dummy,wrapping,htmlfrog,htmldartium',
- help='Systems to generate (frog, native, dummy, '
- 'htmlfrog, htmldartium)')
- parser.add_option('--output-dir', dest='output_dir',
- action='store', type='string',
- default=None,
- help='Directory to put the generated files')
- parser.add_option('--use-database-cache', dest='use_database_cache',
- action='store_true',
- default=False,
- help='''Use the cached database from the previous run to
- improve startup performance''')
- (options, args) = parser.parse_args()
-
- current_dir = os.path.dirname(__file__)
- systems = options.systems.split(',')
- html_system_names = ['htmldartium', 'htmlfrog']
- html_systems = [s for s in systems if s in html_system_names]
- dom_systems = [s for s in systems if s not in html_system_names]
-
- use_database_cache = options.use_database_cache
- logging.config.fileConfig(os.path.join(current_dir, 'logging.conf'))
-
- if dom_systems:
- output_dir = options.output_dir or os.path.join(current_dir,
- '../generated')
- GenerateDOM(dom_systems, False, output_dir, use_database_cache)
-
- if html_systems:
- output_dir = options.output_dir or os.path.join(current_dir,
- '../../html/generated')
- GenerateDOM(html_systems, True, output_dir, use_database_cache or dom_systems)
-
-if __name__ == '__main__':
- sys.exit(main())
« no previous file with comments | « client/dom/scripts/all_tests.py ('k') | client/dom/scripts/dartgenerator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698