summaryrefslogtreecommitdiffstats
path: root/chromium/tools/json_schema_compiler/compiler.py
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2014-03-18 13:16:26 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-03-20 15:55:39 +0100
commit3f0f86b0caed75241fa71c95a5d73bc0164348c5 (patch)
tree92b9fb00f2e9e90b0be2262093876d4f43b6cd13 /chromium/tools/json_schema_compiler/compiler.py
parente90d7c4b152c56919d963987e2503f9909a666d2 (diff)
Update to new stable branch 1750
This also includes an updated ninja and chromium dependencies needed on Windows. Change-Id: Icd597d80ed3fa4425933c9f1334c3c2e31291c42 Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Diffstat (limited to 'chromium/tools/json_schema_compiler/compiler.py')
-rwxr-xr-xchromium/tools/json_schema_compiler/compiler.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/chromium/tools/json_schema_compiler/compiler.py b/chromium/tools/json_schema_compiler/compiler.py
index ddab77eadd7..21281fcdabf 100755
--- a/chromium/tools/json_schema_compiler/compiler.py
+++ b/chromium/tools/json_schema_compiler/compiler.py
@@ -26,11 +26,12 @@ 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,
@@ -38,15 +39,14 @@ def GenerateSchema(generator,
destdir,
root_namespace,
dart_overrides_dir):
- schema_loader = SchemaLoader(os.path.dirname(os.path.relpath(
- os.path.normpath(filenames[0]), root)))
+ schema_loader = SchemaLoader(
+ os.path.dirname(os.path.relpath(os.path.normpath(filenames[0]), root)),
+ os.path.dirname(filenames[0]))
# Merge the source files into a single list of schemas.
api_defs = []
for filename in filenames:
schema = os.path.normpath(filename)
- schema_filename, schema_extension = os.path.splitext(schema)
- path, short_filename = os.path.split(schema_filename)
- api_def = schema_loader.LoadSchema(schema)
+ api_def = schema_loader.LoadSchema(os.path.split(schema)[1])
# If compiling the C++ model code, delete 'nocompile' nodes.
if generator == 'cpp':
@@ -88,7 +88,8 @@ def GenerateSchema(generator,
api_model,
api_defs,
type_generator,
- root_namespace)
+ root_namespace,
+ namespace.source_file_dir)
generators = [
('generated_api.cc', cpp_bundle_generator.api_cc_generator),
('generated_api.h', cpp_bundle_generator.api_h_generator),
@@ -106,6 +107,12 @@ def GenerateSchema(generator,
('%s.dart' % namespace.unix_name, DartGenerator(
dart_overrides_dir))
]
+ elif generator == 'ppapi':
+ generator = PpapiGenerator()
+ generators = [
+ (os.path.join('api', 'ppb_%s.idl' % namespace.unix_name),
+ generator.idl_generator),
+ ]
else:
raise Exception('Unrecognised generator %s' % generator)