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

Side by Side Diff: chrome/common/extensions/api/api.gyp

Issue 344163002: Rearrange the extensions API GYP file to be readable by GN. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 # All files are stored in these lists which are referenced in the target
7 # below so that the GN build of this target can read in this dictionary and
8 # duplicate the same logic without the lists getting out-of-sync. The GN
9 # .gypi reader can not process conditions and does not know about targets,
10 # etc., it just reads Python dictionaries.
11 #
12 # In addition, the GN build treats .idl files and .json files separately,
13 # since they run through different scripts. If you add a new category, also
14 # add it to the BUILD.gn file in this directory.
15 'variables': {
16 # These duplicate other lists and are the only ones used on Android. They
17 # should be eliminated. See crbug.com/305852.
18 'android_schema_files_idl': [
19 'file_system.idl',
20 'sync_file_system.idl',
21 'tab_capture.idl',
22 ],
23 'android_schema_files_json': [
24 'activity_log_private.json',
25 'events.json',
26 'manifest_types.json',
27 'permissions.json',
28 'tabs.json',
29 'types.json',
30 'webview.json',
31 'web_navigation.json',
32 'windows.json',
33 ],
34
35 # These are used everywhere except Android.
36 'main_schema_files_idl': [
37 'alarms.idl',
38 'app_current_window_internal.idl',
39 'app_window.idl',
40 'audio.idl',
41 'automation_internal.idl',
42 'automation.idl',
43 'autotest_private.idl',
44 'bluetooth.idl',
45 'bluetooth_low_energy.idl',
46 'bluetooth_socket.idl',
47 'browser.idl',
48 'braille_display_private.idl',
49 'cast_channel.idl',
50 'developer_private.idl',
51 'dial.idl',
52 'downloads.idl',
53 'downloads_internal.idl',
54 'feedback_private.idl',
55 'file_browser_private.idl',
56 'file_browser_private_internal.idl',
57 'file_system.idl',
58 'file_system_provider.idl',
59 'file_system_provider_internal.idl',
60 'gcd_private.idl',
61 'hangouts_private.idl',
62 'hid.idl',
63 'hotword_private.idl',
64 'identity.idl',
65 'identity_private.idl',
66 'image_writer_private.idl',
67 'location.idl',
68 'mdns.idl',
69 'media_galleries.idl',
70 'media_galleries_private.idl',
71 'notifications.idl',
72 'power.idl',
73 'push_messaging.idl',
74 'screenlock_private.idl',
75 'serial.idl',
76 'signed_in_devices.idl',
77 'streams_private.idl',
78 'sync_file_system.idl',
79 'synced_notifications_private.idl',
80 'system_cpu.idl',
81 'system_display.idl',
82 'system_indicator.idl',
83 'system_memory.idl',
84 'system_network.idl',
85 'system_storage.idl',
86 'tab_capture.idl',
87 # Despite the name, this API does not rely on any
88 # WebRTC-specific bits and as such does not belong in
89 # the enable_webrtc=0 section below.
90 'webrtc_audio_private.idl',
91 'webrtc_logging_private.idl',
92 ],
93 'main_schema_files_json': [
94 'accessibility_private.json',
95 'activity_log_private.json',
96 'bluetooth_private.json',
97 'bookmark_manager_private.json',
98 'bookmarks.json',
99 'cloud_print_private.json',
100 'command_line_private.json',
101 'content_settings.json',
102 'context_menus.json',
103 'context_menus_internal.json',
104 'cookies.json',
105 'debugger.json',
106 'desktop_capture.json',
107 'echo_private.json',
108 'enterprise_platform_keys_private.json',
109 'events.json',
110 'font_settings.json',
111 'gcm.json',
112 'guest_view_internal.json',
113 'history.json',
114 'i18n.json',
115 'idle.json',
116 'input_ime.json',
117 'management.json',
118 'manifest_types.json',
119 'metrics_private.json',
120 'networking_private.json',
121 'omnibox.json',
122 'page_capture.json',
123 'permissions.json',
124 'preferences_private.json',
125 'reading_list_private.json',
126 'sessions.json',
127 'system_private.json',
128 'tabs.json',
129 'terminal_private.json',
130 'types.json',
131 'virtual_keyboard_private.json',
132 'web_navigation.json',
133 'web_request.json',
134 'webstore_private.json',
135 'webview.json',
136 'windows.json',
137 ],
138 # The non-compiled shcema files don't need to be separated out by type
139 # since they're only given to the bundle script which doesn't care about
140 # type.
141 'main_non_compiled_schema_files': [
142 'browsing_data.json',
143 'chromeos_info_private.json',
144 'extension.json',
145 'idltest.idl',
146 'infobars.json',
147 'media_player_private.json',
148 'music_manager_private.idl',
149 'principals_private.idl',
150 'top_sites.json',
151 'web_request_internal.json',
152 ],
153
154 # ChromeOS-specific schemas.
155 'chromeos_schema_files_idl': [
156 'diagnostics.idl',
157 'enterprise_platform_keys.idl',
158 'enterprise_platform_keys_internal.idl',
159 'log_private.idl',
160 'webcam_private.idl',
161 ],
162 'chromeos_schema_files_json': [
163 'accessibility_features.json',
164 'file_browser_handler_internal.json',
165 'first_run_private.json',
166 'wallpaper.json',
167 'wallpaper_private.json',
168 ],
169 'chromeos_branded_schema_files_idl': [
170 'ledger/ledger.idl',
171 ],
172
173 'webrtc_schema_files_idl': [
174 'cast_streaming_rtp_stream.idl',
175 'cast_streaming_session.idl',
176 'cast_streaming_udp_transport.idl',
177 ],
178 },
6 'targets': [ 179 'targets': [
7 { 180 {
8 'target_name': 'chrome_api', 181 'target_name': 'chrome_api',
9 'type': 'static_library', 182 'type': 'static_library',
10 'sources': [ 183 'sources': [
11 '<@(schema_files)', 184 '<@(schema_files)',
12 ], 185 ],
13 # TODO(jschuh): http://crbug.com/167187 size_t -> int 186 # TODO(jschuh): http://crbug.com/167187 size_t -> int
14 'msvs_disabled_warnings': [ 4267 ], 187 'msvs_disabled_warnings': [ 4267 ],
15 'includes': [ 188 'includes': [
16 '../../../../build/json_schema_bundle_compile.gypi', 189 '../../../../build/json_schema_bundle_compile.gypi',
17 '../../../../build/json_schema_compile.gypi', 190 '../../../../build/json_schema_compile.gypi',
18 ], 191 ],
19 'variables': { 192 'variables': {
20 'chromium_code': 1, 193 'chromium_code': 1,
21 # Disable schema compiler to generate model extension API code. 194 # Disable schema compiler to generate model extension API code.
22 # Only register the extension functions in extension system. 195 # Only register the extension functions in extension system.
23 'conditions': [ 196 'conditions': [
24 ['OS!="android"', { 197 ['OS!="android"', {
25 'non_compiled_schema_files': [ 198 'non_compiled_schema_files': [
26 'browsing_data.json', 199 '<@(main_non_compiled_schema_files)',
27 'chromeos_info_private.json',
28 'extension.json',
29 'idltest.idl',
30 'infobars.json',
31 'media_player_private.json',
32 'music_manager_private.idl',
33 'principals_private.idl',
34 'top_sites.json',
35 'web_request_internal.json',
36 ], 200 ],
37 'schema_files': [ 201 'schema_files': [
38 'accessibility_private.json', 202 '<@(main_schema_files_idl)',
39 'activity_log_private.json', 203 '<@(main_schema_files_json)',
40 'alarms.idl',
41 'app_current_window_internal.idl',
42 'app_window.idl',
43 'audio.idl',
44 'automation_internal.idl',
45 'automation.idl',
46 'autotest_private.idl',
47 'bluetooth.idl',
48 'bluetooth_low_energy.idl',
49 'bluetooth_private.json',
50 'bluetooth_socket.idl',
51 'bookmark_manager_private.json',
52 'bookmarks.json',
53 'browser.idl',
54 'braille_display_private.idl',
55 'cast_channel.idl',
56 'cloud_print_private.json',
57 'command_line_private.json',
58 'content_settings.json',
59 'context_menus.json',
60 'context_menus_internal.json',
61 'cookies.json',
62 'debugger.json',
63 'desktop_capture.json',
64 'developer_private.idl',
65 'dial.idl',
66 'downloads.idl',
67 'downloads_internal.idl',
68 'echo_private.json',
69 'enterprise_platform_keys_private.json',
70 'events.json',
71 'feedback_private.idl',
72 'file_browser_private.idl',
73 'file_browser_private_internal.idl',
74 'file_system.idl',
75 'file_system_provider.idl',
76 'file_system_provider_internal.idl',
77 'font_settings.json',
78 'gcd_private.idl',
79 'gcm.json',
80 'guest_view_internal.json',
81 'hangouts_private.idl',
82 'hid.idl',
83 'history.json',
84 'hotword_private.idl',
85 'i18n.json',
86 'identity.idl',
87 'identity_private.idl',
88 'idle.json',
89 'image_writer_private.idl',
90 'input_ime.json',
91 'location.idl',
92 'management.json',
93 'manifest_types.json',
94 'mdns.idl',
95 'media_galleries.idl',
96 'media_galleries_private.idl',
97 'metrics_private.json',
98 'networking_private.json',
99 'notifications.idl',
100 'omnibox.json',
101 'page_capture.json',
102 'permissions.json',
103 'preferences_private.json',
104 'power.idl',
105 'push_messaging.idl',
106 'reading_list_private.json',
107 'screenlock_private.idl',
108 'serial.idl',
109 'sessions.json',
110 'signed_in_devices.idl',
111 'streams_private.idl',
112 'sync_file_system.idl',
113 'synced_notifications_private.idl',
114 'system_cpu.idl',
115 'system_display.idl',
116 'system_indicator.idl',
117 'system_memory.idl',
118 'system_network.idl',
119 'system_private.json',
120 'system_storage.idl',
121 'tab_capture.idl',
122 'tabs.json',
123 'terminal_private.json',
124 'types.json',
125 'virtual_keyboard_private.json',
126 'web_navigation.json',
127 'web_request.json',
128 # Despite the name, this API does not rely on any
129 # WebRTC-specific bits and as such does not belong in
130 # the enable_webrtc=0 section below.
131 'webrtc_audio_private.idl',
132 'webrtc_logging_private.idl',
133 'webstore_private.json',
134 'webview.json',
135 'windows.json',
136 ], 204 ],
137 }, { # OS=="android" 205 }, { # OS=="android"
138 'non_compiled_schema_files': [ 206 'non_compiled_schema_files': [
139 ], 207 ],
140 'schema_files': [ 208 'schema_files': [
141 # These should be eliminated. See crbug.com/305852. 209 # These should be eliminated. See crbug.com/305852.
142 'activity_log_private.json', 210 '<@(android_schema_files_idl)',
143 'events.json', 211 '<@(android_schema_files_json)',
144 'file_system.idl',
145 'manifest_types.json',
146 'permissions.json',
147 'sync_file_system.idl',
148 'tab_capture.idl',
149 'tabs.json',
150 'types.json',
151 'webview.json',
152 'web_navigation.json',
153 'windows.json',
154 ], 212 ],
155 }], 213 }],
156 ['chromeos==1', { 214 ['chromeos==1', {
157 'schema_files': [ 215 'schema_files': [
158 'accessibility_features.json', 216 '<@(chromeos_schema_files_idl)',
159 'diagnostics.idl', 217 '<@(chromeos_schema_files_json)',
160 'enterprise_platform_keys.idl',
161 'enterprise_platform_keys_internal.idl',
162 'file_browser_handler_internal.json',
163 'first_run_private.json',
164 'log_private.idl',
165 'wallpaper.json',
166 'wallpaper_private.json',
167 'webcam_private.idl',
168 ], 218 ],
169 }], 219 }],
170 ['enable_webrtc==1', { 220 ['enable_webrtc==1', {
171 'schema_files': [ 221 'schema_files': [
172 'cast_streaming_rtp_stream.idl', 222 '<@(webrtc_schema_files_idl)',
173 'cast_streaming_session.idl',
174 'cast_streaming_udp_transport.idl',
175 ], 223 ],
176 }], 224 }],
177 ['branding=="Chrome" and chromeos==1', { 225 ['branding=="Chrome" and chromeos==1', {
178 'schema_files': [ 226 'schema_files': [
179 'ledger/ledger.idl', 227 '<@(chromeos_branded_schema_files_idl)',
180 ], 228 ],
181 }], 229 }],
182 ], 230 ],
183 'cc_dir': 'chrome/common/extensions/api', 231 'cc_dir': 'chrome/common/extensions/api',
184 'root_namespace': 'extensions::api', 232 'root_namespace': 'extensions::api',
185 }, 233 },
186 'dependencies': [ 234 'dependencies': [
187 '<(DEPTH)/content/content.gyp:content_browser', 235 '<(DEPTH)/content/content.gyp:content_browser',
188 '<(DEPTH)/skia/skia.gyp:skia', 236 '<(DEPTH)/skia/skia.gyp:skia',
189 '<(DEPTH)/sync/sync.gyp:sync', 237 '<(DEPTH)/sync/sync.gyp:sync',
190 ], 238 ],
191 'conditions': [ 239 'conditions': [
192 ['chromeos==1', { 240 ['chromeos==1', {
193 'dependencies': [ 241 'dependencies': [
194 '<(DEPTH)/chrome/chrome.gyp:drive_proto', 242 '<(DEPTH)/chrome/chrome.gyp:drive_proto',
195 ], 243 ],
196 }], 244 }],
197 ], 245 ],
198 }, 246 },
199 ], 247 ],
200 } 248 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698