| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 # Copyright (C) 2013 Google Inc. All rights reserved. | 2 # Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 # | 3 # |
| 4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
| 5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
| 6 # met: | 6 # met: |
| 7 # | 7 # |
| 8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
| 9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
| 10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 incrementally. See http://crbug.com/239771 | 42 incrementally. See http://crbug.com/239771 |
| 43 """ | 43 """ |
| 44 import optparse | 44 import optparse |
| 45 import os | 45 import os |
| 46 import pickle | 46 import pickle |
| 47 import posixpath | 47 import posixpath |
| 48 import shlex | 48 import shlex |
| 49 import sys | 49 import sys |
| 50 | 50 |
| 51 import code_generator_v8 | 51 import code_generator_v8 |
| 52 import my_code_generator_v8 |
| 52 import idl_reader | 53 import idl_reader |
| 53 | 54 |
| 54 | 55 |
| 55 def parse_options(): | 56 def parse_options(): |
| 56 parser = optparse.OptionParser() | 57 parser = optparse.OptionParser() |
| 57 parser.add_option('--additional-idl-files') | 58 parser.add_option('--additional-idl-files') |
| 58 # FIXME: The --dump-json-and-pickle option is only for debugging and will | 59 # FIXME: The --dump-json-and-pickle option is only for debugging and will |
| 59 # be removed once we complete migrating all IDL files from the Perl flow to | 60 # be removed once we complete migrating all IDL files from the Perl flow to |
| 60 # the Python flow. | 61 # the Python flow. |
| 61 parser.add_option('--dump-json-and-pickle', action='store_true', default=Fal
se) | 62 parser.add_option('--dump-json-and-pickle', action='store_true', default=Fal
se) |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 basename = os.path.basename(idl_filename) | 107 basename = os.path.basename(idl_filename) |
| 107 interface_name, _ = os.path.splitext(basename) | 108 interface_name, _ = os.path.splitext(basename) |
| 108 output_directory = options.output_directory | 109 output_directory = options.output_directory |
| 109 verbose = options.verbose | 110 verbose = options.verbose |
| 110 if verbose: | 111 if verbose: |
| 111 print idl_filename | 112 print idl_filename |
| 112 relative_dir_posix = get_relative_dir_posix(idl_filename) | 113 relative_dir_posix = get_relative_dir_posix(idl_filename) |
| 113 | 114 |
| 114 reader = idl_reader.IdlReader(options.interface_dependencies_file, options.a
dditional_idl_files, options.idl_attributes_file, output_directory, verbose) | 115 reader = idl_reader.IdlReader(options.interface_dependencies_file, options.a
dditional_idl_files, options.idl_attributes_file, output_directory, verbose) |
| 115 definitions = reader.read_idl_definitions(idl_filename) | 116 definitions = reader.read_idl_definitions(idl_filename) |
| 116 code_generator = code_generator_v8.CodeGeneratorV8(definitions, interface_na
me, options.output_directory, relative_dir_posix, options.idl_directories, verbo
se) | 117 try: |
| 117 if not definitions: | 118 code_generator = code_generator_v8.CodeGeneratorV8(definitions, interfac
e_name, options.output_directory, relative_dir_posix, options.idl_directories, v
erbose) |
| 118 # We generate dummy .h and .cpp files just to tell build scripts | 119 if not definitions: |
| 119 # that outputs have been created. | 120 # We generate dummy .h and .cpp files just to tell build scripts |
| 120 code_generator.write_dummy_header_and_cpp() | 121 # that outputs have been created. |
| 121 return | 122 code_generator.write_dummy_header_and_cpp() |
| 122 if options.dump_json_and_pickle: | 123 return |
| 123 write_json_and_pickle(definitions, interface_name, output_directory) | 124 if options.dump_json_and_pickle: |
| 124 return | 125 write_json_and_pickle(definitions, interface_name, output_directory) |
| 125 code_generator.write_header_and_cpp() | 126 return |
| 127 code_generator.write_header_and_cpp() |
| 128 except Exception as err: |
| 129 # Log exceptions, but don't fail (just testing) |
| 130 print err |
| 126 | 131 |
| 127 | 132 |
| 128 if __name__ == '__main__': | 133 if __name__ == '__main__': |
| 129 sys.exit(main()) | 134 sys.exit(main()) |
| OLD | NEW |