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

Unified Diff: tools/json_schema_compiler/compiler.py

Issue 1488773003: Add js_interface_generator for generating extensions interfaces (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase + shorten line Created 5 years 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 side-by-side diff with in-line comments
Download patch
Index: tools/json_schema_compiler/compiler.py
diff --git a/tools/json_schema_compiler/compiler.py b/tools/json_schema_compiler/compiler.py
index 1ed407bef6f9bf6ac77db9117bf60838a499b5cd..feb354dedfd5a79d7b8cfa6478527d789adb86b9 100755
--- a/tools/json_schema_compiler/compiler.py
+++ b/tools/json_schema_compiler/compiler.py
@@ -25,6 +25,7 @@ from cpp_bundle_generator import CppBundleGenerator
from cpp_generator import CppGenerator
from cpp_type_generator import CppTypeGenerator
from js_externs_generator import JsExternsGenerator
+from js_interface_generator import JsInterfaceGenerator
import json_schema
from cpp_namespace_environment import CppNamespaceEnvironment
from model import Model
@@ -32,7 +33,9 @@ from schema_loader import SchemaLoader
# Names of supported code generators, as specified on the command-line.
# First is default.
-GENERATORS = ['cpp', 'cpp-bundle-registration', 'cpp-bundle-schema', 'externs']
+GENERATORS = [
+ 'cpp', 'cpp-bundle-registration', 'cpp-bundle-schema', 'externs', 'interface'
+]
def GenerateSchema(generator_name,
file_paths,
@@ -122,6 +125,10 @@ def GenerateSchema(generator_name,
generators = [
('%s_externs.js' % namespace.unix_name, JsExternsGenerator())
]
+ elif generator_name == 'interface':
+ generators = [
+ ('%s_interface.js' % namespace.unix_name, JsInterfaceGenerator())
+ ]
else:
raise Exception('Unrecognised generator %s' % generator_name)
@@ -139,7 +146,11 @@ def GenerateSchema(generator_name,
os.makedirs(output_dir)
with open(os.path.join(output_dir, filename), 'w') as f:
f.write(code)
- output_code += [filename, '', code, '']
+ # If multiple files are being output, add the filename for each file.
+ if len(generators) > 1:
+ output_code += [filename, '', code, '']
+ else:
+ output_code += [code]
return '\n'.join(output_code)

Powered by Google App Engine
This is Rietveld 408576698