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

Side by Side Diff: build/json_schema_compile.gypi

Issue 9600050: Add IDL capability to json_schema_compiler. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Patch Set 1 Created 8 years, 9 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 | Annotate | Revision Log
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 # json_schema_files: an array of json files that comprise the api model. 8 # json_schema_files: an array of json files that comprise the api model.
9 # cc_dir: path to generated files 9 # cc_dir: path to generated files
10 # root_namespace: the C++ namespace that all generated files go under 10 # root_namespace: the C++ namespace that all generated files go under
11 # Functions and namespaces can be excluded by setting "nocompile" to true. 11 # Functions and namespaces can be excluded by setting "nocompile" to true.
12 'api_gen_dir': '<(DEPTH)/tools/json_schema_compiler', 12 'api_gen_dir': '<(DEPTH)/tools/json_schema_compiler',
13 'api_gen': '<(api_gen_dir)/compiler.py', 13 'api_gen': '<(api_gen_dir)/compiler.py',
14 }, 14 },
15 'rules': [ 15 'rules': [
16 { 16 {
17 'rule_name': 'genapi', 17 'rule_name': 'genapi',
18 'extension': 'json', 18 'extension': 'json',
19 'inputs': [ 19 'inputs': [
20 '<(api_gen_dir)/any.cc', 20 '<(api_gen_dir)/any.cc',
21 '<(api_gen_dir)/any.h', 21 '<(api_gen_dir)/any.h',
22 '<(api_gen_dir)/any_helper.py', 22 '<(api_gen_dir)/any_helper.py',
23 '<(api_gen_dir)/cc_generator.py', 23 '<(api_gen_dir)/cc_generator.py',
24 '<(api_gen_dir)/code.py', 24 '<(api_gen_dir)/code.py',
25 '<(api_gen_dir)/compiler.py', 25 '<(api_gen_dir)/compiler.py',
26 '<(api_gen_dir)/cpp_type_generator.py',
26 '<(api_gen_dir)/cpp_util.py', 27 '<(api_gen_dir)/cpp_util.py',
27 '<(api_gen_dir)/cpp_type_generator.py',
28 '<(api_gen_dir)/h_generator.py', 28 '<(api_gen_dir)/h_generator.py',
29 '<(api_gen_dir)/json_schema.py',
29 '<(api_gen_dir)/model.py', 30 '<(api_gen_dir)/model.py',
30 '<(api_gen_dir)/util.cc', 31 '<(api_gen_dir)/util.cc',
31 '<(api_gen_dir)/util.h', 32 '<(api_gen_dir)/util.h',
33 '<(api_gen_dir)/util_cc_helper.py',
34 # TODO(calamity): uncomment this when gyp on windows behaves like other
35 # platforms. List expansions of filepaths in inputs expand to different
36 # things.
37 # '<@(json_schema_files)',
38 ],
39 'outputs': [
40 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_ROOT).cc',
41 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_ROOT).h',
42 ],
43 'action': [
44 'python',
45 '<(api_gen)',
46 '<(RULE_INPUT_PATH)',
47 '--root=<(DEPTH)',
48 '--destdir=<(SHARED_INTERMEDIATE_DIR)',
49 '--namespace=<(root_namespace)',
50 ],
51 'message': 'Generating C++ code from <(RULE_INPUT_PATH) json files',
52 'process_outputs_as_sources': 1,
53 },
54 {
55 'rule_name': 'genapi_idl',
56 'extension': 'idl',
57 'inputs': [
58 '<(api_gen_dir)/any.cc',
59 '<(api_gen_dir)/any.h',
60 '<(api_gen_dir)/any_helper.py',
61 '<(api_gen_dir)/cc_generator.py',
62 '<(api_gen_dir)/code.py',
63 '<(api_gen_dir)/compiler.py',
64 '<(api_gen_dir)/cpp_type_generator.py',
65 '<(api_gen_dir)/cpp_util.py',
66 '<(api_gen_dir)/h_generator.py',
67 '<(api_gen_dir)/idl_schema.py',
68 '<(api_gen_dir)/model.py',
69 '<(api_gen_dir)/util.cc',
70 '<(api_gen_dir)/util.h',
32 '<(api_gen_dir)/util_cc_helper.py', 71 '<(api_gen_dir)/util_cc_helper.py',
33 # TODO(calamity): uncomment this when gyp on windows behaves like other 72 # TODO(calamity): uncomment this when gyp on windows behaves like other
34 # platforms. List expansions of filepaths in inputs expand to different 73 # platforms. List expansions of filepaths in inputs expand to different
35 # things. 74 # things.
36 # '<@(json_schema_files)', 75 # '<@(json_schema_files)',
37 ], 76 ],
38 'outputs': [ 77 'outputs': [
39 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_ROOT).cc', 78 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_ROOT).cc',
40 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_ROOT).h', 79 '<(SHARED_INTERMEDIATE_DIR)/<(cc_dir)/<(RULE_INPUT_ROOT).h',
41 ], 80 ],
42 'action': [ 81 'action': [
43 'python', 82 'python',
44 '<(api_gen)', 83 '<(api_gen)',
45 '<(RULE_INPUT_PATH)', 84 '<(RULE_INPUT_PATH)',
46 '--root=<(DEPTH)', 85 '--root=<(DEPTH)',
47 '--destdir=<(SHARED_INTERMEDIATE_DIR)', 86 '--destdir=<(SHARED_INTERMEDIATE_DIR)',
48 '--namespace=<(root_namespace)', 87 '--namespace=<(root_namespace)',
49 ], 88 ],
50 'message': 'Generating C++ code from <(RULE_INPUT_PATH) jsons', 89 'message': 'Generating C++ code from <(RULE_INPUT_PATH) IDL files',
51 'process_outputs_as_sources': 1, 90 'process_outputs_as_sources': 1,
52 }, 91 },
53 ], 92 ],
54 'include_dirs': [ 93 'include_dirs': [
55 '<(SHARED_INTERMEDIATE_DIR)', 94 '<(SHARED_INTERMEDIATE_DIR)',
56 '<(DEPTH)', 95 '<(DEPTH)',
57 ], 96 ],
58 'dependencies':[ 97 'dependencies':[
59 '<(DEPTH)/tools/json_schema_compiler/api_gen_util.gyp:api_gen_util', 98 '<(DEPTH)/tools/json_schema_compiler/api_gen_util.gyp:api_gen_util',
60 ], 99 ],
61 'direct_dependent_settings': { 100 'direct_dependent_settings': {
62 'include_dirs': [ 101 'include_dirs': [
63 '<(SHARED_INTERMEDIATE_DIR)', 102 '<(SHARED_INTERMEDIATE_DIR)',
64 ] 103 ]
65 }, 104 },
66 # This target exports a hard dependency because it generates header 105 # This target exports a hard dependency because it generates header
67 # files. 106 # files.
68 'hard_dependency': 1, 107 'hard_dependency': 1,
69 } 108 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/extensions/api/dns/dns_api.h » ('j') | chrome/browser/extensions/api/dns/dns_api.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698