| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 2 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 3 # for details. All rights reserved. Use of this source code is governed by a | 3 # for details. All rights reserved. Use of this source code is governed by a |
| 4 # BSD-style license that can be found in the LICENSE file. | 4 # BSD-style license that can be found in the LICENSE file. |
| 5 | 5 |
| 6 """This is the entry point to create Dart APIs from the IDL database.""" | 6 """This is the entry point to create Dart APIs from the IDL database.""" |
| 7 | 7 |
| 8 import dartgenerator | 8 import dartgenerator |
| 9 import database | 9 import database |
| 10 import fremontcutbuilder | 10 import fremontcutbuilder |
| 11 import logging.config | 11 import logging.config |
| 12 import multiemitter | 12 import multiemitter |
| 13 import optparse | 13 import optparse |
| 14 import os | 14 import os |
| 15 import shutil | 15 import shutil |
| 16 import subprocess | 16 import subprocess |
| 17 import sys | 17 import sys |
| 18 from generator import TypeRegistry | 18 from generator import TypeRegistry |
| 19 from htmleventgenerator import HtmlEventGenerator | 19 from htmleventgenerator import HtmlEventGenerator |
| 20 from htmlrenamer import HtmlRenamer | 20 from htmlrenamer import HtmlRenamer |
| 21 from systemhtml import DartLibraryEmitter, Dart2JSBackend,\ | 21 from systemhtml import DartLibraryEmitter, Dart2JSBackend,\ |
| 22 HtmlDartInterfaceGenerator, DartLibrary, DartLibraries | 22 HtmlDartInterfaceGenerator, DartLibrary, DartLibraries |
| 23 from systemnative import CPPLibraryEmitter, DartiumBackend | 23 from systemnative import CPPLibraryEmitter, DartiumBackend |
| 24 from templateloader import TemplateLoader | 24 from templateloader import TemplateLoader |
| 25 | 25 |
| 26 _logger = logging.getLogger('dartdomgenerator') | 26 _logger = logging.getLogger('dartdomgenerator') |
| 27 | 27 |
| 28 _libraries = ['html', 'svg', 'web_audio'] | 28 _libraries = ['html', 'indexed_db', 'svg', 'web_audio'] |
| 29 | 29 |
| 30 class GeneratorOptions(object): | 30 class GeneratorOptions(object): |
| 31 def __init__(self, templates, database, type_registry, renamer): | 31 def __init__(self, templates, database, type_registry, renamer): |
| 32 self.templates = templates | 32 self.templates = templates |
| 33 self.database = database | 33 self.database = database |
| 34 self.type_registry = type_registry | 34 self.type_registry = type_registry |
| 35 self.renamer = renamer | 35 self.renamer = renamer |
| 36 | 36 |
| 37 # TODO(vsm): Remove once we fix Dartium to pass in the database directly. | 37 # TODO(vsm): Remove once we fix Dartium to pass in the database directly. |
| 38 def Generate(database_dir, use_database_cache, dart2js_output_dir=None, | 38 def Generate(database_dir, use_database_cache, dart2js_output_dir=None, |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 emitters = multiemitter.MultiEmitter() | 71 emitters = multiemitter.MultiEmitter() |
| 72 renamer = HtmlRenamer(webkit_database) | 72 renamer = HtmlRenamer(webkit_database) |
| 73 type_registry = TypeRegistry(webkit_database, renamer) | 73 type_registry = TypeRegistry(webkit_database, renamer) |
| 74 | 74 |
| 75 def RunGenerator(dart_libraries, dart_output_dir, | 75 def RunGenerator(dart_libraries, dart_output_dir, |
| 76 template_loader, backend_factory): | 76 template_loader, backend_factory): |
| 77 options = GeneratorOptions( | 77 options = GeneratorOptions( |
| 78 template_loader, webkit_database, type_registry, renamer) | 78 template_loader, webkit_database, type_registry, renamer) |
| 79 dart_library_emitter = DartLibraryEmitter( | 79 dart_library_emitter = DartLibraryEmitter( |
| 80 emitters, dart_output_dir, dart_libraries) | 80 emitters, dart_output_dir, dart_libraries) |
| 81 event_generator = HtmlEventGenerator(webkit_database, template_loader) | 81 event_generator = HtmlEventGenerator(webkit_database, renamer, |
| 82 template_loader) |
| 82 | 83 |
| 83 def generate_interface(interface): | 84 def generate_interface(interface): |
| 84 backend = backend_factory(interface) | 85 backend = backend_factory(interface) |
| 85 interface_generator = HtmlDartInterfaceGenerator( | 86 interface_generator = HtmlDartInterfaceGenerator( |
| 86 options, dart_library_emitter, event_generator, interface, backend) | 87 options, dart_library_emitter, event_generator, interface, backend) |
| 87 interface_generator.Generate() | 88 interface_generator.Generate() |
| 88 | 89 |
| 89 generator.Generate(webkit_database, common_database, generate_interface) | 90 generator.Generate(webkit_database, common_database, generate_interface) |
| 90 | 91 |
| 91 dart_library_emitter.EmitLibraries(auxiliary_dir) | 92 dart_library_emitter.EmitLibraries(auxiliary_dir) |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 212 '../../%s/dart2js' % library_name) | 213 '../../%s/dart2js' % library_name) |
| 213 if 'htmldartium' in systems: | 214 if 'htmldartium' in systems: |
| 214 _logger.info('Generating dartium single files.') | 215 _logger.info('Generating dartium single files.') |
| 215 for library_name in _libraries: | 216 for library_name in _libraries: |
| 216 GenerateSingleFile( | 217 GenerateSingleFile( |
| 217 os.path.join(dartium_output_dir, '%s_dartium.dart' % library_name), | 218 os.path.join(dartium_output_dir, '%s_dartium.dart' % library_name), |
| 218 '../../%s/dartium' % library_name) | 219 '../../%s/dartium' % library_name) |
| 219 | 220 |
| 220 if __name__ == '__main__': | 221 if __name__ == '__main__': |
| 221 sys.exit(main()) | 222 sys.exit(main()) |
| OLD | NEW |