Chromium Code Reviews| Index: tools/json_schema_compiler/compiler.py |
| diff --git a/tools/json_schema_compiler/compiler.py b/tools/json_schema_compiler/compiler.py |
| index 3759b0a172325da235a369efc5fc65b8ca839ca3..73f031c1a8050ba0e35cc9a866c892ac2c8ca388 100755 |
| --- a/tools/json_schema_compiler/compiler.py |
| +++ b/tools/json_schema_compiler/compiler.py |
| @@ -26,18 +26,20 @@ from cpp_type_generator import CppTypeGenerator |
| from dart_generator import DartGenerator |
| import json_schema |
| from model import Model |
| +from ppapi_generator import PpapiGenerator |
| from schema_loader import SchemaLoader |
| # Names of supported code generators, as specified on the command-line. |
| # First is default. |
| -GENERATORS = ['cpp', 'cpp-bundle', 'dart'] |
| +GENERATORS = ['cpp', 'cpp-bundle', 'dart', 'ppapi'] |
| def GenerateSchema(generator, |
| filenames, |
| root, |
| destdir, |
| root_namespace, |
| - dart_overrides_dir): |
| + dart_overrides_dir, |
| + is_ppapi_dev=False): |
|
yzshen1
2013/12/10 21:43:02
FYI: very soon, pepper will switch to a new 'dev'
|
| schema_loader = SchemaLoader( |
| os.path.dirname(os.path.relpath(os.path.normpath(filenames[0]), root)), |
| os.path.dirname(filenames[0])) |
| @@ -106,6 +108,19 @@ def GenerateSchema(generator, |
| ('%s.dart' % namespace.unix_name, DartGenerator( |
| dart_overrides_dir)) |
| ] |
| + elif generator == 'ppapi': |
| + generator = PpapiGenerator(is_ppapi_dev) |
| + if is_ppapi_dev: |
| + dev_directory = 'dev' |
| + dev_infix = '_dev' |
| + else: |
| + dev_directory = '' |
| + dev_infix = '' |
| + generators = [ |
| + (os.path.join('api', dev_directory, 'ppb_%s%s.idl' % |
| + (namespace.unix_name, dev_infix)), |
| + generator.idl_generator), |
| + ] |
| else: |
| raise Exception('Unrecognised generator %s' % generator) |
| @@ -138,6 +153,9 @@ if __name__ == '__main__': |
| ' %s' % GENERATORS) |
| parser.add_option('-D', '--dart-overrides-dir', dest='dart_overrides_dir', |
| help='Adds custom dart from files in the given directory (Dart only).') |
| + parser.add_option( |
| + '', '--ppapi_dev', action='store_true', dest='ppapi_dev', default=False, |
| + help='Whether APIs are dev APIs (ppapi only).') |
| (opts, filenames) = parser.parse_args() |
| @@ -151,6 +169,7 @@ if __name__ == '__main__': |
| "Unless in bundle mode, only one file can be specified at a time.") |
| result = GenerateSchema(opts.generator, filenames, opts.root, opts.destdir, |
| - opts.namespace, opts.dart_overrides_dir) |
| + opts.namespace, opts.dart_overrides_dir, |
| + is_ppapi_dev=opts.ppapi_dev) |
| if not opts.destdir: |
| print result |