Example #1
0
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'))
Example #2
0
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'))
Example #3
0
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)
Example #4
0
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)
Example #6
0
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"),
            )