Chromium Code Reviews| Index: lib/html/scripts/dartdomgenerator.py |
| diff --git a/lib/html/scripts/dartdomgenerator.py b/lib/html/scripts/dartdomgenerator.py |
| index 469d49159eec1254220db4e1f04ffeddbf5f08c7..4a7dd78db01c568bbdfb33d3f79dcfc3647835ac 100755 |
| --- a/lib/html/scripts/dartdomgenerator.py |
| +++ b/lib/html/scripts/dartdomgenerator.py |
| @@ -18,9 +18,10 @@ from generator import TypeRegistry |
| from htmlrenamer import HtmlRenamer |
| from systembase import GeneratorOptions |
| from systemdart2js import Dart2JSSystem |
| -from systemhtml import HtmlInterfacesSystem, HtmlDart2JSSystem |
| +from systemhtml import DartLibraryGenerator, HtmlInterfacesSystem, |
| + HtmlDart2JSSystem |
| from systeminterface import InterfacesSystem |
| -from systemnative import NativeImplementationSystem |
| +from systemnative import CPPLibraryGenerator, NativeImplementationSystem |
| from templateloader import TemplateLoader |
| _logger = logging.getLogger('dartdomgenerator') |
| @@ -68,33 +69,55 @@ def Generate(database_dir, use_database_cache, dart2js_output_dir=None, |
| renamer = HtmlRenamer(webkit_database) |
| type_registry = TypeRegistry(webkit_database, renamer) |
| - def CreateGeneratorOptions(template_paths, conditions, output_dir): |
| - template_loader = TemplateLoader(template_dir, template_paths, conditions) |
| - return GeneratorOptions( |
| - template_loader, webkit_database, emitters, type_registry, renamer, |
| - output_dir, auxiliary_dir) |
| - |
| - def Generate(backend, output_dir): |
| - options = CreateGeneratorOptions( |
| - ['html/interface', 'html/impl', 'html', ''], {}, output_dir) |
| - html_system = HtmlInterfacesSystem(options, backend) |
| - generator.Generate(webkit_database, html_system, |
| - super_database=common_database, |
| - webkit_renames=_webkit_renames) |
| + def Generate(dart_library_template, dart_output_dir, dart_library_path, |
|
vsm
2012/09/25 16:06:14
Can you use a different name here? It shadows the
podivilov1
2012/09/25 16:40:28
Done.
|
| + backend): |
| + template_loader = TemplateLoader(template_dir, |
| + ['html/interface', 'html/impl', 'html', ''], |
|
vsm
2012/09/25 16:06:14
nit: line length
podivilov1
2012/09/25 16:40:28
Done.
|
| + {}) |
| + options = GeneratorOptions( |
| + template_loader, webkit_database, type_registry, renamer) |
| + dart_library_generator = DartLibraryGenerator( |
| + emitters, dart_library_template, dart_output_dir) |
| + html_system = HtmlInterfacesSystem(options, dart_library_generator, backend) |
| + generator.Generate(webkit_database, common_database, _webkit_renames, |
| + html_system.ProcessInterface, |
| + html_system.ProcessCallback) |
| + dart_library_generator.GenerateLibrary(dart_library_path, auxiliary_dir) |
| if dart2js_output_dir: |
| - options = CreateGeneratorOptions( |
| - ['html/dart2js', 'html/impl', 'html', ''], |
| - {'DARTIUM': False, 'DART2JS': True}, dart2js_output_dir) |
| - backend = HtmlDart2JSSystem(options) |
| - Generate(backend, dart2js_output_dir) |
| + template_loader = TemplateLoader(template_dir, |
| + ['html/dart2js', 'html/impl', 'html', ''], |
| + {'DARTIUM': False, 'DART2JS': True}) |
| + backend_options = GeneratorOptions( |
| + template_loader, webkit_database, type_registry, renamer) |
| + backend = HtmlDart2JSSystem(backend_options) |
| + |
| + dart_library_template = template_loader.Load('html_dart2js.darttemplate') |
| + dart_output_dir = os.path.join(dart2js_output_dir, 'dart') |
| + dart_library_path = os.path.join(dart2js_output_dir, 'html_dart2js.dart') |
| + |
| + Generate(dart_library_template, dart_output_dir, dart_library_path, backend) |
| if dartium_output_dir: |
| - options = CreateGeneratorOptions( |
| - ['html/dartium', 'html/impl', ''], |
| - {'DARTIUM': True, 'DART2JS': False}, dartium_output_dir) |
| - backend = NativeImplementationSystem(options) |
| - Generate(backend, dartium_output_dir) |
| + template_loader = TemplateLoader(template_dir, |
| + ['html/dartium', 'html/impl', ''], |
| + {'DARTIUM': True, 'DART2JS': False}) |
| + backend_options = GeneratorOptions( |
| + template_loader, webkit_database, type_registry, renamer) |
| + cpp_output_dir = os.path.join(dartium_output_dir, 'cpp') |
| + cpp_library_generator = CPPLibraryGenerator(emitters, cpp_output_dir) |
| + backend = NativeImplementationSystem(backend_options, cpp_library_generator) |
| + |
| + dart_library_template = template_loader.Load('html_dartium.darttemplate') |
| + dart_output_dir = os.path.join(dartium_output_dir, 'dart') |
| + dart_library_path = os.path.join(dartium_output_dir, 'html_dartium.dart') |
| + |
| + Generate(dart_library_template, dart_output_dir, dart_library_path, backend) |
| + cpp_library_generator.GenerateDerivedSources( |
| + template_loader.Load('cpp_derived_sources.template'), |
| + dartium_output_dir) |
| + cpp_library_generator.GenerateResolver( |
| + template_loader.Load('cpp_resolver.template'), dartium_output_dir) |
| _logger.info('Flush...') |
| emitters.Flush() |