summaryrefslogtreecommitdiffstats
path: root/tools/json_schema_compiler
diff options
context:
space:
mode:
authoryoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-20 21:44:29 +0000
committeryoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-20 21:44:29 +0000
commit26e1e9ec1024d46ded366f04d5d62194b46e26b7 (patch)
tree7b667346905e25ad92221c32e35630555ea96bbc /tools/json_schema_compiler
parentd21a37bdfcd1fececb6bd8fe7783ae9d485650f9 (diff)
downloadchromium_src-26e1e9ec1024d46ded366f04d5d62194b46e26b7.zip
chromium_src-26e1e9ec1024d46ded366f04d5d62194b46e26b7.tar.gz
chromium_src-26e1e9ec1024d46ded366f04d5d62194b46e26b7.tar.bz2
JSON schema compiler: remove SOURCE_BASE_PATH hack from bundle generator.
Review URL: https://codereview.chromium.org/77063004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236308 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/json_schema_compiler')
-rwxr-xr-xtools/json_schema_compiler/compiler.py3
-rw-r--r--tools/json_schema_compiler/cpp_bundle_generator.py19
2 files changed, 14 insertions, 8 deletions
diff --git a/tools/json_schema_compiler/compiler.py b/tools/json_schema_compiler/compiler.py
index edd183d..3759b0a 100755
--- a/tools/json_schema_compiler/compiler.py
+++ b/tools/json_schema_compiler/compiler.py
@@ -87,7 +87,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),
diff --git a/tools/json_schema_compiler/cpp_bundle_generator.py b/tools/json_schema_compiler/cpp_bundle_generator.py
index c713d55..d47f57f1 100644
--- a/tools/json_schema_compiler/cpp_bundle_generator.py
+++ b/tools/json_schema_compiler/cpp_bundle_generator.py
@@ -12,8 +12,6 @@ import json
import os
import re
-# TODO(miket/asargent) - parameterize this.
-SOURCE_BASE_PATH = 'chrome/common/extensions/api'
def _RemoveDescriptions(node):
"""Returns a copy of |schema| with "description" fields removed.
@@ -36,12 +34,19 @@ class CppBundleGenerator(object):
"""This class contains methods to generate code based on multiple schemas.
"""
- def __init__(self, root, model, api_defs, cpp_type_generator, cpp_namespace):
+ def __init__(self,
+ root,
+ model,
+ api_defs,
+ cpp_type_generator,
+ cpp_namespace,
+ source_file_dir):
self._root = root
self._model = model
self._api_defs = api_defs
self._cpp_type_generator = cpp_type_generator
self._cpp_namespace = cpp_namespace
+ self._source_file_dir = source_file_dir
self.api_cc_generator = _APICCGenerator(self)
self.api_h_generator = _APIHGenerator(self)
@@ -57,8 +62,8 @@ class CppBundleGenerator(object):
c = code.Code()
c.Append(cpp_util.CHROMIUM_LICENSE)
c.Append()
- c.Append(cpp_util.GENERATED_BUNDLE_FILE_MESSAGE % SOURCE_BASE_PATH)
- ifndef_name = cpp_util.GenerateIfndefName(SOURCE_BASE_PATH, file_base)
+ c.Append(cpp_util.GENERATED_BUNDLE_FILE_MESSAGE % self._source_file_dir)
+ ifndef_name = cpp_util.GenerateIfndefName(self._source_file_dir, file_base)
c.Append()
c.Append('#ifndef %s' % ifndef_name)
c.Append('#define %s' % ifndef_name)
@@ -165,7 +170,7 @@ class _APICCGenerator(object):
c = code.Code()
c.Append(cpp_util.CHROMIUM_LICENSE)
c.Append()
- c.Append('#include "%s"' % (os.path.join(SOURCE_BASE_PATH,
+ c.Append('#include "%s"' % (os.path.join(self._bundle._source_file_dir,
'generated_api.h')))
c.Append()
for namespace in self._bundle._model.namespaces.values():
@@ -248,7 +253,7 @@ class _SchemasCCGenerator(object):
c = code.Code()
c.Append(cpp_util.CHROMIUM_LICENSE)
c.Append()
- c.Append('#include "%s"' % (os.path.join(SOURCE_BASE_PATH,
+ c.Append('#include "%s"' % (os.path.join(self._bundle._source_file_dir,
'generated_schemas.h')))
c.Append()
c.Append('#include "base/lazy_instance.h"')