summaryrefslogtreecommitdiffstats
path: root/tools/json_schema_compiler/compiler.py
diff options
context:
space:
mode:
authorrdevlin.cronin <rdevlin.cronin@chromium.org>2015-03-24 10:07:28 -0700
committerCommit bot <commit-bot@chromium.org>2015-03-24 17:08:16 +0000
commit8c3a458ed264db8970f72c71be0e32a2a071ec30 (patch)
treef5332fd61ea3539f2b957ec542f804c6a67c1ae5 /tools/json_schema_compiler/compiler.py
parentbb033ee318fc12de0b9e136c99acd25950b08e8f (diff)
downloadchromium_src-8c3a458ed264db8970f72c71be0e32a2a071ec30.zip
chromium_src-8c3a458ed264db8970f72c71be0e32a2a071ec30.tar.gz
chromium_src-8c3a458ed264db8970f72c71be0e32a2a071ec30.tar.bz2
Generate externs automatically from json/idl files
Continued from https://codereview.chromium.org/511943003/. BUG=469920 Review URL: https://codereview.chromium.org/1006373003 Cr-Commit-Position: refs/heads/master@{#322016}
Diffstat (limited to 'tools/json_schema_compiler/compiler.py')
-rwxr-xr-xtools/json_schema_compiler/compiler.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/json_schema_compiler/compiler.py b/tools/json_schema_compiler/compiler.py
index 0d4b264..e09366b2 100755
--- a/tools/json_schema_compiler/compiler.py
+++ b/tools/json_schema_compiler/compiler.py
@@ -24,6 +24,7 @@ import sys
from cpp_bundle_generator import CppBundleGenerator
from cpp_generator import CppGenerator
from cpp_type_generator import CppTypeGenerator
+from js_externs_generator import JsExternsGenerator
import json_schema
from cpp_namespace_environment import CppNamespaceEnvironment
from model import Model
@@ -31,7 +32,7 @@ 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']
+GENERATORS = ['cpp', 'cpp-bundle-registration', 'cpp-bundle-schema', 'externs']
def GenerateSchema(generator_name,
file_paths,
@@ -115,6 +116,10 @@ def GenerateSchema(generator_name,
('%s.h' % filename_base, cpp_generator.h_generator),
('%s.cc' % filename_base, cpp_generator.cc_generator)
]
+ elif generator_name == 'externs':
+ generators = [
+ ('%s_externs.js' % namespace.unix_name, JsExternsGenerator())
+ ]
else:
raise Exception('Unrecognised generator %s' % generator_name)