OLD | NEW |
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_includes (optional): |
| 11 # An array of paths to include when searching for referenced objects. |
10 # cc_dir: | 12 # cc_dir: |
11 # The directory to put the generated code in. | 13 # The directory to put the generated code in. |
12 # root_namespace: | 14 # root_namespace: |
13 # A Python string substituion pattern used to generate the C++ | 15 # A Python string substituion pattern used to generate the C++ |
14 # namespace for each API. Use %(namespace)s to replace with the API | 16 # namespace for each API. Use %(namespace)s to replace with the API |
15 # namespace, like "toplevel::%(namespace)s_api". | 17 # namespace, like "toplevel::%(namespace)s_api". |
16 # | 18 # |
17 # Functions and namespaces can be excluded by setting "nocompile" to true. | 19 # Functions and namespaces can be excluded by setting "nocompile" to true. |
18 # The default root path of API implementation sources is | 20 # The default root path of API implementation sources is |
19 # chrome/browser/extensions/api and can be overridden by setting "impl_dir". | 21 # chrome/browser/extensions/api and can be overridden by setting "impl_dir". |
20 'api_gen_dir': '<(DEPTH)/tools/json_schema_compiler', | 22 'api_gen_dir': '<(DEPTH)/tools/json_schema_compiler', |
21 'api_gen': '<(api_gen_dir)/compiler.py', | 23 'api_gen': '<(api_gen_dir)/compiler.py', |
22 'impl_dir%': 'chrome/browser/extensions/api', | 24 'impl_dir%': 'chrome/browser/extensions/api', |
| 25 'schema_includes' : [], |
23 }, | 26 }, |
24 'rules': [ | 27 'rules': [ |
25 { | 28 { |
26 # GN version: //extensions/generated_extensions_api.gni | 29 # GN version: //extensions/generated_extensions_api.gni |
27 'rule_name': 'genapi', | 30 'rule_name': 'genapi', |
28 'msvs_external_rule': 1, | 31 'msvs_external_rule': 1, |
29 'extension': 'json', | 32 'extension': 'json', |
30 'inputs': [ | 33 'inputs': [ |
31 '<(api_gen_dir)/cc_generator.py', | 34 '<(api_gen_dir)/cc_generator.py', |
32 '<(api_gen_dir)/code.py', | 35 '<(api_gen_dir)/code.py', |
(...skipping 17 matching lines...) Expand all Loading... |
50 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT
_ROOT).h', | 53 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT
_ROOT).h', |
51 ], | 54 ], |
52 'action': [ | 55 'action': [ |
53 'python', | 56 'python', |
54 '<(api_gen)', | 57 '<(api_gen)', |
55 '<(RULE_INPUT_PATH)', | 58 '<(RULE_INPUT_PATH)', |
56 '--root=<(DEPTH)', | 59 '--root=<(DEPTH)', |
57 '--destdir=<(SHARED_INTERMEDIATE_DIR)', | 60 '--destdir=<(SHARED_INTERMEDIATE_DIR)', |
58 '--namespace=<(root_namespace)', | 61 '--namespace=<(root_namespace)', |
59 '--generator=cpp', | 62 '--generator=cpp', |
60 '--impl-dir=<(impl_dir)' | 63 '--impl-dir=<(impl_dir)', |
| 64 '--include=<(schema_includes)' |
61 ], | 65 ], |
62 'message': 'Generating C++ code from <(RULE_INPUT_PATH) json files', | 66 'message': 'Generating C++ code from <(RULE_INPUT_PATH) json files', |
63 'process_outputs_as_sources': 1, | 67 'process_outputs_as_sources': 1, |
64 }, | 68 }, |
65 { | 69 { |
66 'rule_name': 'genapi_idl', | 70 'rule_name': 'genapi_idl', |
67 'msvs_external_rule': 1, | 71 'msvs_external_rule': 1, |
68 'extension': 'idl', | 72 'extension': 'idl', |
69 'inputs': [ | 73 'inputs': [ |
70 '<(api_gen_dir)/cc_generator.py', | 74 '<(api_gen_dir)/cc_generator.py', |
(...skipping 18 matching lines...) Expand all Loading... |
89 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT
_ROOT).h', | 93 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT
_ROOT).h', |
90 ], | 94 ], |
91 'action': [ | 95 'action': [ |
92 'python', | 96 'python', |
93 '<(api_gen)', | 97 '<(api_gen)', |
94 '<(RULE_INPUT_PATH)', | 98 '<(RULE_INPUT_PATH)', |
95 '--root=<(DEPTH)', | 99 '--root=<(DEPTH)', |
96 '--destdir=<(SHARED_INTERMEDIATE_DIR)', | 100 '--destdir=<(SHARED_INTERMEDIATE_DIR)', |
97 '--namespace=<(root_namespace)', | 101 '--namespace=<(root_namespace)', |
98 '--generator=cpp', | 102 '--generator=cpp', |
99 '--impl-dir=<(impl_dir)' | 103 '--impl-dir=<(impl_dir)', |
| 104 '--include=<(schema_includes)' |
100 ], | 105 ], |
101 'message': 'Generating C++ code from <(RULE_INPUT_PATH) IDL files', | 106 'message': 'Generating C++ code from <(RULE_INPUT_PATH) IDL files', |
102 'process_outputs_as_sources': 1, | 107 'process_outputs_as_sources': 1, |
103 }, | 108 }, |
104 ], | 109 ], |
105 'include_dirs': [ | 110 'include_dirs': [ |
106 '<(SHARED_INTERMEDIATE_DIR)', | 111 '<(SHARED_INTERMEDIATE_DIR)', |
107 '<(DEPTH)', | 112 '<(DEPTH)', |
108 ], | 113 ], |
109 'dependencies':[ | 114 'dependencies':[ |
110 '<(DEPTH)/tools/json_schema_compiler/api_gen_util.gyp:api_gen_util', | 115 '<(DEPTH)/tools/json_schema_compiler/api_gen_util.gyp:api_gen_util', |
111 ], | 116 ], |
112 'direct_dependent_settings': { | 117 'direct_dependent_settings': { |
113 'include_dirs': [ | 118 'include_dirs': [ |
114 '<(SHARED_INTERMEDIATE_DIR)', | 119 '<(SHARED_INTERMEDIATE_DIR)', |
115 ] | 120 ] |
116 }, | 121 }, |
117 # This target exports a hard dependency because it generates header | 122 # This target exports a hard dependency because it generates header |
118 # files. | 123 # files. |
119 'hard_dependency': 1, | 124 'hard_dependency': 1, |
120 } | 125 } |
OLD | NEW |