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

Side by Side Diff: build/json_schema_compile.gypi

Issue 487533005: Add support for references in different paths in apis (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months 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 unified diff | Download patch
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 { 5 {
6 'variables': { 6 'variables': {
7 # When including this gypi, the following variables must be set: 7 # When including this gypi, the following variables must be set:
8 # schema_files: 8 # schema_files:
9 # An array of json or idl files that comprise the api model. 9 # An array of json or idl files that comprise the api model.
10 # schema_include_rules (optional):
11 # An array of paths to include when searching for referenced objects,
12 # with the namespace separated by a :.
13 # Example:
14 # [ '/foo/bar:Foo::Bar::%(namespace)s' ]
10 # cc_dir: 15 # cc_dir:
11 # The directory to put the generated code in. 16 # The directory to put the generated code in.
12 # root_namespace: 17 # root_namespace:
13 # A Python string substituion pattern used to generate the C++ 18 # A Python string substituion pattern used to generate the C++
14 # namespace for each API. Use %(namespace)s to replace with the API 19 # namespace for each API. Use %(namespace)s to replace with the API
15 # namespace, like "toplevel::%(namespace)s_api". 20 # namespace, like "toplevel::%(namespace)s_api".
16 # 21 #
17 # Functions and namespaces can be excluded by setting "nocompile" to true. 22 # Functions and namespaces can be excluded by setting "nocompile" to true.
18 # The default root path of API implementation sources is 23 # The default root path of API implementation sources is
19 # chrome/browser/extensions/api and can be overridden by setting "impl_dir". 24 # chrome/browser/extensions/api and can be overridden by setting "impl_dir".
20 'api_gen_dir': '<(DEPTH)/tools/json_schema_compiler', 25 'api_gen_dir': '<(DEPTH)/tools/json_schema_compiler',
21 'api_gen': '<(api_gen_dir)/compiler.py', 26 'api_gen': '<(api_gen_dir)/compiler.py',
22 'impl_dir%': 'chrome/browser/extensions/api', 27 'impl_dir%': 'chrome/browser/extensions/api',
28 'schema_include_rules': [],
23 }, 29 },
24 'rules': [ 30 'rules': [
25 { 31 {
26 # GN version: //extensions/generated_extensions_api.gni 32 # GN version: //extensions/generated_extensions_api.gni
27 'rule_name': 'genapi', 33 'rule_name': 'genapi',
28 'msvs_external_rule': 1, 34 'msvs_external_rule': 1,
29 'extension': 'json', 35 'extension': 'json',
30 'inputs': [ 36 'inputs': [
31 '<(api_gen_dir)/cc_generator.py', 37 '<(api_gen_dir)/cc_generator.py',
32 '<(api_gen_dir)/code.py', 38 '<(api_gen_dir)/code.py',
(...skipping 17 matching lines...) Expand all
50 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT _ROOT).h', 56 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT _ROOT).h',
51 ], 57 ],
52 'action': [ 58 'action': [
53 'python', 59 'python',
54 '<(api_gen)', 60 '<(api_gen)',
55 '<(RULE_INPUT_PATH)', 61 '<(RULE_INPUT_PATH)',
56 '--root=<(DEPTH)', 62 '--root=<(DEPTH)',
57 '--destdir=<(SHARED_INTERMEDIATE_DIR)', 63 '--destdir=<(SHARED_INTERMEDIATE_DIR)',
58 '--namespace=<(root_namespace)', 64 '--namespace=<(root_namespace)',
59 '--generator=cpp', 65 '--generator=cpp',
60 '--impl-dir=<(impl_dir)' 66 '--impl-dir=<(impl_dir)',
67 '--include-rules=<(schema_include_rules)'
61 ], 68 ],
62 'message': 'Generating C++ code from <(RULE_INPUT_PATH) json files', 69 'message': 'Generating C++ code from <(RULE_INPUT_PATH) json files',
63 'process_outputs_as_sources': 1, 70 'process_outputs_as_sources': 1,
64 }, 71 },
65 { 72 {
66 'rule_name': 'genapi_idl', 73 'rule_name': 'genapi_idl',
67 'msvs_external_rule': 1, 74 'msvs_external_rule': 1,
68 'extension': 'idl', 75 'extension': 'idl',
69 'inputs': [ 76 'inputs': [
70 '<(api_gen_dir)/cc_generator.py', 77 '<(api_gen_dir)/cc_generator.py',
(...skipping 18 matching lines...) Expand all
89 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT _ROOT).h', 96 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT _ROOT).h',
90 ], 97 ],
91 'action': [ 98 'action': [
92 'python', 99 'python',
93 '<(api_gen)', 100 '<(api_gen)',
94 '<(RULE_INPUT_PATH)', 101 '<(RULE_INPUT_PATH)',
95 '--root=<(DEPTH)', 102 '--root=<(DEPTH)',
96 '--destdir=<(SHARED_INTERMEDIATE_DIR)', 103 '--destdir=<(SHARED_INTERMEDIATE_DIR)',
97 '--namespace=<(root_namespace)', 104 '--namespace=<(root_namespace)',
98 '--generator=cpp', 105 '--generator=cpp',
99 '--impl-dir=<(impl_dir)' 106 '--impl-dir=<(impl_dir)',
107 '--include-rules=<(schema_include_rules)'
100 ], 108 ],
101 'message': 'Generating C++ code from <(RULE_INPUT_PATH) IDL files', 109 'message': 'Generating C++ code from <(RULE_INPUT_PATH) IDL files',
102 'process_outputs_as_sources': 1, 110 'process_outputs_as_sources': 1,
103 }, 111 },
104 ], 112 ],
105 'include_dirs': [ 113 'include_dirs': [
106 '<(SHARED_INTERMEDIATE_DIR)', 114 '<(SHARED_INTERMEDIATE_DIR)',
107 '<(DEPTH)', 115 '<(DEPTH)',
108 ], 116 ],
109 'dependencies':[ 117 'dependencies':[
110 '<(DEPTH)/tools/json_schema_compiler/api_gen_util.gyp:api_gen_util', 118 '<(DEPTH)/tools/json_schema_compiler/api_gen_util.gyp:api_gen_util',
111 ], 119 ],
112 'direct_dependent_settings': { 120 'direct_dependent_settings': {
113 'include_dirs': [ 121 'include_dirs': [
114 '<(SHARED_INTERMEDIATE_DIR)', 122 '<(SHARED_INTERMEDIATE_DIR)',
115 ] 123 ]
116 }, 124 },
117 # This target exports a hard dependency because it generates header 125 # This target exports a hard dependency because it generates header
118 # files. 126 # files.
119 'hard_dependency': 1, 127 'hard_dependency': 1,
120 } 128 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698