def main(): parser = optparse.OptionParser() parser.add_option('--parallel', dest='parallel', action='store_true', default=False, help='Use fremontcut in parallel mode.') parser.add_option('--rebuild', dest='rebuild', action='store_true', default=False, help='Rebuild the database from IDL using fremontcut.') parser.add_option('--systems', dest='systems', action='store', type='string', default='htmldart2js,htmldartium', help='Systems to generate (htmldart2js, 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__) database_dir = os.path.join(current_dir, '..', 'database') logging.config.fileConfig(os.path.join(current_dir, 'logging.conf')) systems = options.systems.split(',') output_dir = options.output_dir or os.path.join( current_dir, '..', '..', utils.GetBuildDir(utils.GuessOS(), None), 'generated') dart2js_output_dir = None if 'htmldart2js' in systems: dart2js_output_dir = os.path.join(output_dir, 'dart2js') dartium_output_dir = None if 'htmldartium' in systems: dartium_output_dir = os.path.join(output_dir, 'dartium') if options.rebuild: # Parse the IDL and create the database. database = fremontcutbuilder.main(options.parallel) else: # Load the previously generated database. database = LoadDatabase(database_dir, options.use_database_cache) GenerateFromDatabase(database, dart2js_output_dir, dartium_output_dir) if 'htmldart2js' in systems: _logger.info('Generating dart2js single files.') for library_name in _libraries: GenerateSingleFile( os.path.join(dart2js_output_dir, '%s_dart2js.dart' % library_name), os.path.join('..', '..', '..', 'sdk', 'lib', library_name, 'dart2js')) if 'htmldartium' in systems: _logger.info('Generating dartium single files.') for library_name in _libraries: GenerateSingleFile( os.path.join(dartium_output_dir, '%s_dartium.dart' % library_name), os.path.join('..', '..', '..', 'sdk', 'lib', library_name, 'dartium'))
def main(): parser = optparse.OptionParser() parser.add_option('--parallel', dest='parallel', action='store_true', default=False, help='Use fremontcut in parallel mode.') parser.add_option('--rebuild', dest='rebuild', action='store_true', default=False, help='Rebuild the database from IDL using fremontcut.') parser.add_option('--systems', dest='systems', action='store', type='string', default='htmldart2js,htmldartium', help='Systems to generate (htmldart2js, 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__) database_dir = os.path.join(current_dir, '..', 'database') logging.config.fileConfig(os.path.join(current_dir, 'logging.conf')) systems = options.systems.split(',') output_dir = options.output_dir or os.path.join( current_dir, '..', '..', utils.GetBuildDir(utils.GuessOS(), None), 'generated') dart2js_output_dir = None if 'htmldart2js' in systems: dart2js_output_dir = os.path.join(output_dir, 'dart2js') dartium_output_dir = None if 'htmldartium' in systems: dartium_output_dir = os.path.join(output_dir, 'dartium') if options.rebuild: # Parse the IDL and create the database. database = fremontcutbuilder.main(options.parallel) else: # Load the previously generated database. database = LoadDatabase(database_dir, options.use_database_cache) GenerateFromDatabase(database, dart2js_output_dir, dartium_output_dir) if 'htmldart2js' in systems: _logger.info('Generating dart2js single files.') for library_name in HTML_LIBRARY_NAMES: GenerateSingleFile( os.path.join(dart2js_output_dir, '%s_dart2js.dart' % library_name), os.path.join('..', '..', '..', 'sdk', 'lib', library_name, 'dart2js')) if 'htmldartium' in systems: _logger.info('Generating dartium single files.') for library_name in HTML_LIBRARY_NAMES: GenerateSingleFile( os.path.join(dartium_output_dir, '%s_dartium.dart' % library_name), os.path.join('..', '..', '..', 'sdk', 'lib', library_name, 'dartium'))
def main(): parser = optparse.OptionParser() parser.add_option('--parallel', dest='parallel', action='store_true', default=False, help='Use fremontcut in parallel mode.') parser.add_option('--systems', dest='systems', action='store', type='string', default='htmldart2js,htmldartium', help='Systems to generate (htmldart2js, 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''') parser.add_option('--update-dom-metadata', dest='update_dom_metadata', action='store_true', default=False, help='''Update the metadata list of DOM APIs''') parser.add_option('--verbose', dest='logging_level', action='store_false', default=logging.WARNING, help='Output all informational messages') parser.add_option('--examine', dest='examine_idls', action='store_true', default=None, help='Analyze IDL files') parser.add_option('--logging', dest='logging', type='int', action='store', default=logging.NOTSET, help='Level of logging 20 is Info, 30 is Warnings, 40 is Errors') parser.add_option('--gen-interop', dest='dart_js_interop', action='store_true', default=False, help='Use Javascript objects (dart:js) accessing the DOM in _blink') (options, args) = parser.parse_args() current_dir = os.path.dirname(__file__) database_dir = os.path.join(current_dir, '..', 'database') logging.config.fileConfig(os.path.join(current_dir, 'logging.conf')) systems = options.systems.split(',') output_dir = options.output_dir or os.path.join( current_dir, '..', '..', utils.GetBuildDir(utils.GuessOS()), 'generated') dart2js_output_dir = None if 'htmldart2js' in systems: dart2js_output_dir = os.path.join(output_dir, 'dart2js') dartium_output_dir = None if 'htmldartium' in systems: dartium_output_dir = os.path.join(output_dir, 'dartium') logging_level = options.logging_level \ if options.logging == logging.NOTSET else options.logging start_time = time.time() UpdateCssProperties() # Parse the IDL and create the database. database = fremontcutbuilder.main(options.parallel, logging_level=logging_level, examine_idls=options.examine_idls) GenerateFromDatabase(database, dart2js_output_dir, dartium_output_dir, options.update_dom_metadata, logging_level, options.dart_js_interop) file_generation_start_time = time.time() if 'htmldart2js' in systems: _logger.info('Generating dart2js single files.') for library_name in HTML_LIBRARY_NAMES: GenerateSingleFile( os.path.join(dart2js_output_dir, '%s_dart2js.dart' % library_name), os.path.join('..', '..', '..', 'sdk', 'lib', library_name, 'dart2js')) if 'htmldartium' in systems: _logger.info('Generating dartium single files.') file_generation_start_time = time.time() for library_name in HTML_LIBRARY_NAMES: GenerateSingleFile( os.path.join(dartium_output_dir, '%s_dartium.dart' % library_name), os.path.join('..', '..', '..', 'sdk', 'lib', library_name, 'dartium')) print '\nGenerating single file %s seconds' % round(time.time() - file_generation_start_time, 2) end_time = time.time() print '\nDone (dartdomgenerator) %s seconds' % round(end_time - start_time, 2)
def main(): parser = optparse.OptionParser() parser.add_option( '--parallel', dest='parallel', action='store_true', default=False, help='Use fremontcut in parallel mode.') parser.add_option( '--systems', dest='systems', action='store', type='string', default='htmldart2js,htmldartium,_blink', help='Systems to generate (htmldart2js, htmldartium, _blink)') parser.add_option( '--output-dir', dest='output_dir', action='store', type='string', default=None, help='Directory to put the generated files') parser.add_option( '--nnbd', dest='nnbd', action='store_true', default=False, help='Generate code with non-nullability annotations') 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''') parser.add_option( '--update-dom-metadata', dest='update_dom_metadata', action='store_true', default=False, help='''Update the metadata list of DOM APIs''') parser.add_option( '--verbose', dest='logging_level', action='store_false', default=logging.WARNING, help='Output all informational messages') parser.add_option( '--examine', dest='examine_idls', action='store_true', default=None, help='Analyze IDL files') parser.add_option( '--logging', dest='logging', type='int', action='store', default=logging.NOTSET, help='Level of logging 20 is Info, 30 is Warnings, 40 is Errors') parser.add_option( '--gen-interop', dest='dart_js_interop', action='store_true', default=False, help='Use Javascript objects (dart:js) accessing the DOM in _blink') parser.add_option( '--no-cached-patches', dest='no_cached_patches', action='store_true', default=False, help='Do not generate the sdk/lib/js/cached_patches.dart file') (options, args) = parser.parse_args() current_dir = os.path.dirname(__file__) database_dir = os.path.join(current_dir, '..', 'database') logging.config.fileConfig(os.path.join(current_dir, 'logging.conf')) systems = options.systems.split(',') output_dir = options.output_dir or os.path.join( current_dir, '..', '..', '..', utils.GetBuildDir(utils.GuessOS()), 'generated') dart2js_output_dir = None if 'htmldart2js' in systems: dart2js_output_dir = os.path.join(output_dir, 'dart2js') logging_level = options.logging_level \ if options.logging == logging.NOTSET else options.logging start_time = time.time() UpdateCssProperties() # Parse the IDL and create the database. database = fremontcutbuilder.main( options.parallel, logging_level=logging_level, examine_idls=options.examine_idls) GenerateFromDatabase(database, dart2js_output_dir, options.update_dom_metadata, logging_level, options.dart_js_interop, options.nnbd) file_generation_start_time = time.time() if 'htmldart2js' in systems: _logger.info('Generating dart2js single files.') for library_name in HTML_LIBRARY_NAMES: source = os.path.join(dart2js_output_dir, '%s_dart2js.dart' % library_name) GenerateSingleFile( source, os.path.join('..', '..', '..', 'sdk', 'lib', library_name, 'dart2js')) print '\nGenerating single file %s seconds' % round( time.time() - file_generation_start_time, 2) end_time = time.time() print '\nDone (dartdomgenerator) %s seconds' % round( end_time - start_time, 2)
def main(): parser = optparse.OptionParser() parser.add_option('--parallel', dest='parallel', action='store_true', default=False, help='Use fremontcut in parallel mode.') parser.add_option('--rebuild', dest='rebuild', action='store_true', default=False, help='Rebuild the database from IDL using fremontcut.') parser.add_option('--systems', dest='systems', action='store', type='string', default='htmldart2js,htmldartium', help='Systems to generate (htmldart2js, 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__) database_dir = os.path.join(current_dir, '..', 'database') logging.config.fileConfig(os.path.join(current_dir, 'logging.conf')) systems = options.systems.split(',') output_dir = options.output_dir or os.path.join(current_dir, '../generated') dart2js_output_dir = None if 'htmldart2js' in systems: dart2js_output_dir = os.path.join(output_dir, 'dart2js') dartium_output_dir = None if 'htmldartium' in systems: dartium_output_dir = os.path.join(output_dir, 'dartium') if options.rebuild: # Parse the IDL and create the database. database = fremontcutbuilder.main(options.parallel) else: # Load the previously generated database. database = LoadDatabase(database_dir, options.use_database_cache) GenerateFromDatabase(database, dart2js_output_dir, dartium_output_dir) _logger.info('Add documentation to generated classes.') html_to_json_script = os.path.relpath( '../../../../tools/html_json_doc/bin/html_json_doc.dart', current_dir) html_output_dir = os.path.join(output_dir, 'dart2js/dart/html/') svg_output_dir = os.path.join(output_dir, 'dart2js/dart/svg/') html_json_path = os.path.relpath('../docs/html_docs.json') svg_json_path = os.path.relpath('../docs/svg_docs.json') html_command = ' '.join(['dart', html_to_json_script, '--mode=json-to-html', html_output_dir, html_json_path]) svg_command = ' '.join(['dart', html_to_json_script, '--mode=json-to-html', svg_output_dir, svg_json_path]) subprocess.call([html_command], shell=True) subprocess.call([svg_command], shell=True) if 'htmldart2js' in systems: _logger.info('Generating dart2js single files.') for library_name in _libraries: GenerateSingleFile( os.path.join(dart2js_output_dir, '%s_dart2js.dart' % library_name), '../../%s/dart2js' % library_name) if 'htmldartium' in systems: _logger.info('Generating dartium single files.') for library_name in _libraries: GenerateSingleFile( os.path.join(dartium_output_dir, '%s_dartium.dart' % library_name), '../../%s/dartium' % library_name)
def main(): parser = optparse.OptionParser() parser.add_option('--parallel', dest='parallel', action='store_true', default=False, help='Use fremontcut in parallel mode.') parser.add_option('--rebuild', dest='rebuild', action='store_true', default=False, help='Rebuild the database from IDL using fremontcut.') parser.add_option('--systems', dest='systems', action='store', type='string', default='htmldart2js,htmldartium', help='Systems to generate (htmldart2js, 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''') parser.add_option('--update-dom-metadata', dest='update_dom_metadata', action='store_true', default=False, help='''Update the metadata list of DOM APIs''') parser.add_option('--blink-parser', dest='blink_parser', action='store_true', default=False, help='Use New Blink IDL parser.') parser.add_option('--verbose', dest='logging_level', action='store_false', default=logging.WARNING, help='Output all informational messages') parser.add_option( '--logging', dest='logging', type='int', action='store', default=logging.NOTSET, help='Level of logging 20 is Info, 30 is Warnings, 40 is Errors') (options, args) = parser.parse_args() current_dir = os.path.dirname(__file__) database_dir = os.path.join(current_dir, '..', 'database') logging.config.fileConfig(os.path.join(current_dir, 'logging.conf')) systems = options.systems.split(',') output_dir = options.output_dir or os.path.join( current_dir, '..', '..', utils.GetBuildDir(utils.GuessOS()), 'generated') dart2js_output_dir = None if 'htmldart2js' in systems: dart2js_output_dir = os.path.join(output_dir, 'dart2js') dartium_output_dir = None if 'htmldartium' in systems: dartium_output_dir = os.path.join(output_dir, 'dartium') logging_level = options.logging_level \ if options.logging == logging.NOTSET else options.logging start_time = time.time() UpdateCssProperties() if options.rebuild: # Parse the IDL and create the database. database = fremontcutbuilder.main(options.parallel, options.blink_parser, logging_level=logging_level) else: # TODO(terry): Should be able to remove this... # Load the previously generated database. if not options.blink_parser: database = LoadDatabase(database_dir, options.use_database_cache) GenerateFromDatabase(database, dart2js_output_dir, dartium_output_dir, options.update_dom_metadata, logging_level) file_generation_start_time = time.time() if 'htmldart2js' in systems: _logger.info('Generating dart2js single files.') for library_name in HTML_LIBRARY_NAMES: GenerateSingleFile( os.path.join(dart2js_output_dir, '%s_dart2js.dart' % library_name), os.path.join('..', '..', '..', 'sdk', 'lib', library_name, 'dart2js')) if 'htmldartium' in systems: _logger.info('Generating dartium single files.') file_generation_start_time = time.time() for library_name in HTML_LIBRARY_NAMES: GenerateSingleFile( os.path.join(dartium_output_dir, '%s_dartium.dart' % library_name), os.path.join('..', '..', '..', 'sdk', 'lib', library_name, 'dartium')) GenerateSingleFile( os.path.join(dartium_output_dir, '_blink_dartium.dart'), os.path.join('..', '..', '..', 'sdk', 'lib', '_blink', 'dartium')) print '\nGenerating single file %s seconds' % round( time.time() - file_generation_start_time, 2) end_time = time.time() print '\nDone (dartdomgenerator) %s seconds' % round( end_time - start_time, 2)
def main(): parser = optparse.OptionParser() parser.add_option( "--parallel", dest="parallel", action="store_true", default=False, help="Use fremontcut in parallel mode." ) parser.add_option( "--rebuild", dest="rebuild", action="store_true", default=False, help="Rebuild the database from IDL using fremontcut.", ) parser.add_option( "--systems", dest="systems", action="store", type="string", default="htmldart2js,htmldartium", help="Systems to generate (htmldart2js, 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""", ) parser.add_option( "--update-dom-metadata", dest="update_dom_metadata", action="store_true", default=False, help="""Update the metadata list of DOM APIs""", ) (options, args) = parser.parse_args() current_dir = os.path.dirname(__file__) database_dir = os.path.join(current_dir, "..", "database") logging.config.fileConfig(os.path.join(current_dir, "logging.conf")) systems = options.systems.split(",") output_dir = options.output_dir or os.path.join( current_dir, "..", "..", utils.GetBuildDir(utils.GuessOS(), None), "generated" ) dart2js_output_dir = None if "htmldart2js" in systems: dart2js_output_dir = os.path.join(output_dir, "dart2js") dartium_output_dir = None if "htmldartium" in systems: dartium_output_dir = os.path.join(output_dir, "dartium") if options.rebuild: # Parse the IDL and create the database. database = fremontcutbuilder.main(options.parallel) else: # Load the previously generated database. database = LoadDatabase(database_dir, options.use_database_cache) GenerateFromDatabase(database, dart2js_output_dir, dartium_output_dir, options.update_dom_metadata) if "htmldart2js" in systems: _logger.info("Generating dart2js single files.") for library_name in HTML_LIBRARY_NAMES: GenerateSingleFile( os.path.join(dart2js_output_dir, "%s_dart2js.dart" % library_name), os.path.join("..", "..", "..", "sdk", "lib", library_name, "dart2js"), ) if "htmldartium" in systems: _logger.info("Generating dartium single files.") for library_name in HTML_LIBRARY_NAMES: GenerateSingleFile( os.path.join(dartium_output_dir, "%s_dartium.dart" % library_name), os.path.join("..", "..", "..", "sdk", "lib", library_name, "dartium"), )