Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(223)

Side by Side Diff: mojo/public/tools/bindings/mojom_bindings_generator_v1.py

Issue 1508293004: Simplify Go's Mojom Type Generator (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Add store_true to the argparse Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Copyright 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """The frontend for the Mojo bindings system.""" 6 """The frontend for the Mojo bindings system."""
7 7
8 8
9 import argparse 9 import argparse
10 import imp 10 import imp
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 module.path = module.path.replace('\\', '/') 135 module.path = module.path.replace('\\', '/')
136 136
137 if self._should_generate(filename): 137 if self._should_generate(filename):
138 for generator_module in generator_modules: 138 for generator_module in generator_modules:
139 generator = generator_module.Generator(module, args.output_dir) 139 generator = generator_module.Generator(module, args.output_dir)
140 filtered_args = [] 140 filtered_args = []
141 if hasattr(generator_module, 'GENERATOR_PREFIX'): 141 if hasattr(generator_module, 'GENERATOR_PREFIX'):
142 prefix = '--' + generator_module.GENERATOR_PREFIX + '_' 142 prefix = '--' + generator_module.GENERATOR_PREFIX + '_'
143 filtered_args = [arg for arg in remaining_args 143 filtered_args = [arg for arg in remaining_args
144 if arg.startswith(prefix)] 144 if arg.startswith(prefix)]
145 if args.generate_type_info:
146 filtered_args.append("--generate_type_info")
145 generator.GenerateFiles(filtered_args) 147 generator.GenerateFiles(filtered_args)
146 148
147 # Save result. 149 # Save result.
148 self._processed_files[filename] = module 150 self._processed_files[filename] = module
149 return module 151 return module
150 152
151 def _ParseFileAndImports(self, filename, import_directories, 153 def _ParseFileAndImports(self, filename, import_directories,
152 imported_filename_stack): 154 imported_filename_stack):
153 # Ignore already-parsed files. 155 # Ignore already-parsed files.
154 if filename in self._parsed_files: 156 if filename in self._parsed_files:
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 metavar="GENERATORS", 199 metavar="GENERATORS",
198 default="c++,dart,go,javascript,java,python", 200 default="c++,dart,go,javascript,java,python",
199 help="comma-separated list of generators") 201 help="comma-separated list of generators")
200 parser.add_argument("--debug_print_intermediate", action="store_true", 202 parser.add_argument("--debug_print_intermediate", action="store_true",
201 help="print the intermediate representation") 203 help="print the intermediate representation")
202 parser.add_argument("-I", dest="import_directories", action="append", 204 parser.add_argument("-I", dest="import_directories", action="append",
203 metavar="directory", default=[], 205 metavar="directory", default=[],
204 help="add a directory to be searched for import files") 206 help="add a directory to be searched for import files")
205 parser.add_argument("--use_bundled_pylibs", action="store_true", 207 parser.add_argument("--use_bundled_pylibs", action="store_true",
206 help="use Python modules bundled in the SDK") 208 help="use Python modules bundled in the SDK")
209 parser.add_argument("--generate_type_info", dest="generate_type_info",
azani 2015/12/21 22:28:37 Same as in the other file.
alexfandrianto 2015/12/21 23:50:11 Done.
210 action="store_true",
211 help="do not generate mojom type descriptors")
212 parser.add_argument("--no_generate_type_info", dest="generate_type_info",
213 action="store_false",
214 help="do not generate mojom type descriptors")
215 parser.set_defaults(generate_type_info=True)
207 (args, remaining_args) = parser.parse_known_args(argv) 216 (args, remaining_args) = parser.parse_known_args(argv)
208 217
209 generator_modules = LoadGenerators(args.generators_string) 218 generator_modules = LoadGenerators(args.generators_string)
210 219
211 fileutil.EnsureDirectoryExists(args.output_dir) 220 fileutil.EnsureDirectoryExists(args.output_dir)
212 221
213 processor = MojomProcessor(lambda filename: filename in args.filename) 222 processor = MojomProcessor(lambda filename: filename in args.filename)
214 for filename in args.filename: 223 for filename in args.filename:
215 processor.ProcessFile(args, remaining_args, generator_modules, filename) 224 processor.ProcessFile(args, remaining_args, generator_modules, filename)
216 225
217 return 0 226 return 0
218 227
219 228
220 if __name__ == "__main__": 229 if __name__ == "__main__":
221 sys.exit(main(sys.argv[1:])) 230 sys.exit(main(sys.argv[1:]))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698