OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 import("//build/config/features.gni") | 5 import("//build/config/features.gni") |
6 | 6 |
7 gypi_values = exec_script( | 7 gypi_values = exec_script( |
8 "//build/gypi_to_gn.py", | 8 "//build/gypi_to_gn.py", |
9 [ rebase_path("devtools.gypi") ], | 9 [ rebase_path("devtools.gypi") ], |
10 "scope", | 10 "scope", |
11 [ "devtools.gypi" ]) | 11 [ "devtools.gypi" ]) |
12 | 12 |
13 # Some of the files in the .gypi use GYP variable expansions, go through and | 13 # Some of the files in the .gypi use GYP variable expansions, go through and |
14 # fix them. | 14 # fix them. |
| 15 devtools_core_base_non_generated_files = |
| 16 gypi_values.devtools_core_base_non_generated_files - [ |
| 17 "<@(devtools_standalone_files)", |
| 18 ] + gypi_values.devtools_standalone_files |
| 19 |
15 devtools_core_base_files = gypi_values.devtools_core_base_files - [ | 20 devtools_core_base_files = gypi_values.devtools_core_base_files - [ |
16 "<@(devtools_standalone_files)", | 21 "<@(devtools_core_base_non_generated_files)", |
17 ] + gypi_values.devtools_standalone_files | 22 ] + devtools_core_base_non_generated_files |
18 | 23 |
19 devtools_core_files = | 24 devtools_core_files = |
20 devtools_core_base_files + | 25 devtools_core_base_files + |
21 gypi_values.devtools_bindings_js_files + | 26 gypi_values.devtools_bindings_js_files + |
22 gypi_values.devtools_common_js_files + | 27 gypi_values.devtools_common_js_files + |
23 gypi_values.devtools_components_js_files + | 28 gypi_values.devtools_components_js_files + |
24 gypi_values.devtools_host_js_files + | 29 gypi_values.devtools_host_js_files + |
25 gypi_values.devtools_main_js_files + | 30 gypi_values.devtools_main_js_files + |
26 gypi_values.devtools_screencast_js_files + | 31 gypi_values.devtools_screencast_js_files + |
27 gypi_values.devtools_sdk_js_files + | 32 gypi_values.devtools_sdk_js_files + |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 resources_out_dir + "InspectorBackendCommands.js", | 75 resources_out_dir + "InspectorBackendCommands.js", |
71 resources_out_dir + "SupportedCSSProperties.js", | 76 resources_out_dir + "SupportedCSSProperties.js", |
72 ] | 77 ] |
73 | 78 |
74 #------------------------------------------------------------------------------- | 79 #------------------------------------------------------------------------------- |
75 | 80 |
76 visibility = [ "//third_party/WebKit/*" ] | 81 visibility = [ "//third_party/WebKit/*" ] |
77 | 82 |
78 group("devtools_frontend_resources") { | 83 group("devtools_frontend_resources") { |
79 deps = [ | 84 deps = [ |
80 ":devtools_html", | |
81 ":toolbox_html", | |
82 ":copy_inspector_images", | 85 ":copy_inspector_images", |
83 ":copy_standalone_css", | 86 ":copy_standalone_css", |
84 ":devtools_extension_api", | 87 ":devtools_extension_api", |
85 ":frontend_protocol_sources", | 88 ":frontend_protocol_sources", |
86 ":supported_css_properties", | 89 ":supported_css_properties", |
87 ":build_applications", | 90 ":build_applications", |
88 ] | 91 ] |
89 | 92 |
90 if (!debug_devtools) { | 93 if (!debug_devtools) { |
91 # This overwrites application-specific core CSS (devtools.css), | 94 # This overwrites application-specific core CSS (devtools.css), |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 ] | 163 ] |
161 | 164 |
162 args = rebase_path(input_pages, root_build_dir) + [ | 165 args = rebase_path(input_pages, root_build_dir) + [ |
163 "--relative_path_dirs" ] + | 166 "--relative_path_dirs" ] + |
164 rebase_path(relative_path_dirs, root_build_dir) + [ | 167 rebase_path(relative_path_dirs, root_build_dir) + [ |
165 "--images", rebase_path(images_path, root_build_dir), | 168 "--images", rebase_path(images_path, root_build_dir), |
166 "--output", rebase_path(outfile, root_build_dir), | 169 "--output", rebase_path(outfile, root_build_dir), |
167 ] | 170 ] |
168 } | 171 } |
169 | 172 |
170 template("generate_app_html") { | |
171 assert(defined(invoker.app_name), target_name) | |
172 app_name = invoker.app_name | |
173 | |
174 action(target_name) { | |
175 script = "scripts/generate_devtools_html.py" | |
176 | |
177 inputs = [ "front_end/" + app_name + ".html"] | |
178 outputs = [ resources_out_dir + app_name + ".html" ] | |
179 | |
180 args = rebase_path(inputs, root_build_dir) + | |
181 rebase_path(outputs, root_build_dir) | |
182 | |
183 if (debug_devtools) { | |
184 args += [ "1" ] | |
185 } else { | |
186 args += [ "0" ] | |
187 } | |
188 } | |
189 } | |
190 | |
191 generate_app_html("devtools_html") { | |
192 app_name = "devtools" | |
193 } | |
194 | |
195 generate_app_html("toolbox_html") { | |
196 app_name = "toolbox" | |
197 } | |
198 | |
199 action("devtools_extension_api") { | 173 action("devtools_extension_api") { |
200 script = "scripts/generate_devtools_extension_api.py" | 174 script = "scripts/generate_devtools_extension_api.py" |
201 | 175 |
202 inputs = gypi_values.devtools_extension_api_files | 176 inputs = gypi_values.devtools_extension_api_files |
203 outputs = [ resources_out_dir + "devtools_extension_api.js" ] | 177 outputs = [ resources_out_dir + "devtools_extension_api.js" ] |
204 | 178 |
205 args = rebase_path(outputs, root_build_dir) + | 179 args = rebase_path(outputs, root_build_dir) + |
206 rebase_path(gypi_values.devtools_extension_api_files, root_build_dir) | 180 rebase_path(gypi_values.devtools_extension_api_files, root_build_dir) |
207 } | 181 } |
208 | 182 |
(...skipping 13 matching lines...) Expand all Loading... |
222 | 196 |
223 inputs = [ "protocol.json" ] | 197 inputs = [ "protocol.json" ] |
224 outputs = [ resources_out_dir + "InspectorBackendCommands.js" ] | 198 outputs = [ resources_out_dir + "InspectorBackendCommands.js" ] |
225 | 199 |
226 args = rebase_path(inputs, root_build_dir) + [ | 200 args = rebase_path(inputs, root_build_dir) + [ |
227 "--output_js_dir", | 201 "--output_js_dir", |
228 rebase_path(resources_out_dir, root_build_dir), | 202 rebase_path(resources_out_dir, root_build_dir), |
229 ] | 203 ] |
230 } | 204 } |
231 | 205 |
232 group("build_applications") { | 206 action("build_applications") { |
233 if (!debug_devtools) { | 207 script = "scripts/build_applications.py" |
234 # Release: concatenate application code. This overwrites | 208 helper_scripts = [ |
235 # application-specific scripts (devtools.js), and thus should be guarded. | 209 "scripts/modular_build.py", |
236 action("build_applications_release") { | 210 "scripts/concatenate_application_code.py", |
237 script = "scripts/build_applications.py" | 211 ] |
238 helper_scripts = [ | |
239 "scripts/modular_build.py", | |
240 "scripts/concatenate_application_code.py", | |
241 ] | |
242 | 212 |
243 inputs = helper_scripts + all_devtools_files + generated_scripts | 213 inputs = helper_scripts + all_devtools_files + generated_scripts |
244 | 214 |
245 outputs = [ | 215 outputs = [ |
246 resources_out_dir + "devtools.js", | 216 resources_out_dir + "devtools.js", |
247 resources_out_dir + "toolbox.js", | 217 resources_out_dir + "devtools.html", |
248 resources_out_dir + "audits_module.js", | 218 resources_out_dir + "toolbox.js", |
249 resources_out_dir + "console_module.js", | 219 resources_out_dir + "toolbox.html", |
250 resources_out_dir + "devices_module.js", | 220 ] |
251 resources_out_dir + "documentation_module.js", | |
252 resources_out_dir + "elements_module.js", | |
253 resources_out_dir + "extensions_module.js", | |
254 resources_out_dir + "heap_snapshot_worker_module.js", | |
255 resources_out_dir + "layers_module.js", | |
256 resources_out_dir + "network_module.js", | |
257 resources_out_dir + "profiler_module.js", | |
258 resources_out_dir + "promises_module.js", | |
259 resources_out_dir + "resources_module.js", | |
260 resources_out_dir + "script_formatter_worker_module.js", | |
261 resources_out_dir + "settings_module.js", | |
262 resources_out_dir + "source_frame_module.js", | |
263 resources_out_dir + "sources_module.js", | |
264 resources_out_dir + "temp_storage_shared_worker_module.js", | |
265 resources_out_dir + "timeline_module.js", | |
266 ] | |
267 | 221 |
268 args = [ | 222 if (debug_devtools) { |
269 "devtools", "toolbox", | 223 deps = [ ":copy_debug_non_modules" ] |
270 "--input_path", rebase_path("front_end", root_build_dir), | |
271 "--output_path", rebase_path(resources_out_dir, root_build_dir), | |
272 "--debug", "0" | |
273 ] | |
274 | 224 |
275 deps = [ | 225 debug_mode = "1" |
276 ":supported_css_properties", | 226 } else { |
277 ":frontend_protocol_sources", | 227 outputs += [ |
278 ] | 228 resources_out_dir + "audits_module.js", |
279 } | 229 resources_out_dir + "console_module.js", |
| 230 resources_out_dir + "devices_module.js", |
| 231 resources_out_dir + "documentation_module.js", |
| 232 resources_out_dir + "elements_module.js", |
| 233 resources_out_dir + "extensions_module.js", |
| 234 resources_out_dir + "heap_snapshot_worker_module.js", |
| 235 resources_out_dir + "layers_module.js", |
| 236 resources_out_dir + "network_module.js", |
| 237 resources_out_dir + "profiler_module.js", |
| 238 resources_out_dir + "promises_module.js", |
| 239 resources_out_dir + "resources_module.js", |
| 240 resources_out_dir + "script_formatter_worker_module.js", |
| 241 resources_out_dir + "settings_module.js", |
| 242 resources_out_dir + "source_frame_module.js", |
| 243 resources_out_dir + "sources_module.js", |
| 244 resources_out_dir + "temp_storage_shared_worker_module.js", |
| 245 resources_out_dir + "timeline_module.js", |
| 246 ] |
| 247 |
280 deps = [ | 248 deps = [ |
281 ":build_applications_release" | 249 ":supported_css_properties", |
| 250 ":frontend_protocol_sources", |
282 ] | 251 ] |
283 } else { | 252 |
284 deps = [ | 253 debug_mode = "0" |
285 ":copy_debug_modules" | |
286 ] | |
287 } | 254 } |
| 255 |
| 256 args = [ |
| 257 "devtools", "toolbox", |
| 258 "--input_path", rebase_path("front_end", root_build_dir), |
| 259 "--output_path", rebase_path(resources_out_dir, root_build_dir), |
| 260 "--debug", debug_mode |
| 261 ] |
288 } | 262 } |
289 | 263 |
290 copy("copy_codemirror_css") { | 264 copy("copy_codemirror_css") { |
291 sources = gypi_values.devtools_cm_css_files | 265 sources = gypi_values.devtools_cm_css_files |
292 outputs = [ resources_out_dir + "cm/{{source_file_part}}" ] | 266 outputs = [ resources_out_dir + "cm/{{source_file_part}}" ] |
293 } | 267 } |
294 | 268 |
295 copy("copy_standalone_css") { | 269 copy("copy_standalone_css") { |
296 sources = gypi_values.devtools_standalone_files | 270 sources = gypi_values.devtools_standalone_files |
297 outputs = [ resources_out_dir + "{{source_file_part}}" ] | 271 outputs = [ resources_out_dir + "{{source_file_part}}" ] |
298 | 272 |
299 deps = [ ":copy_codemirror_css" ] | 273 deps = [ ":copy_codemirror_css" ] |
300 } | 274 } |
301 | 275 |
302 if (debug_devtools) { | 276 if (debug_devtools) { |
303 # Debug: copy front-end into resources_out_dir as-is. | 277 # Debug: copy non-module directories and core into resources_out_dir as-is. |
304 group("copy_debug_modules") { | 278 group("copy_debug_non_modules") { |
305 deps = [ | 279 deps = [ |
306 ":copy_audits_module", | 280 ":copy_runtime_core", |
307 ":copy_bindings_module", | 281 ":copy_uglify_js_files", |
308 ":copy_common_module", | |
309 ":copy_components_module", | |
310 ":copy_console_module", | |
311 ":copy_devices_module", | |
312 ":copy_documentation_module", | |
313 ":copy_elements_module", | |
314 ":copy_extensions_module", | |
315 ":copy_heap_snapshot_worker_module", | |
316 ":copy_host_module", | |
317 ":copy_layers_module", | |
318 ":copy_main_module", | |
319 ":copy_network_module", | |
320 ":copy_profiler_module", | |
321 ":copy_promises_module", | |
322 ":copy_resources_module", | |
323 ":copy_screencast_module", | |
324 ":copy_script_formatter_worker_module", | |
325 ":copy_sdk_module", | |
326 ":copy_settings_module", | |
327 ":copy_source_frame_module", | |
328 ":copy_sources_module", | |
329 ":copy_temp_storage_shared_worker_module", | |
330 ":copy_timeline_module", | |
331 ":copy_toolbox_module", | |
332 ":copy_toolbox_bootstrap_module", | |
333 ":copy_ui_module", | |
334 ":copy_workspace_module", | |
335 ] | |
336 | |
337 copy("copy_runtime_core") { | |
338 sources = devtools_core_base_files - | |
339 gypi_values.devtools_standalone_files | |
340 outputs = [ resources_out_dir + "/{{source_file_part}}" ] | |
341 } | |
342 deps += [ ":copy_runtime_core" ] | |
343 } | |
344 | |
345 # Copies module contents into resources_out_dir in debug_devtools=1 builds. | |
346 # module_name: (String) The JS module name to process. | |
347 # imported_files: (List of strings) The list of files the input depends on. | |
348 template("copy_debug_module") { | |
349 assert(defined(invoker.module_name), target_name) | |
350 assert(defined(invoker.imported_files), target_name) | |
351 | |
352 imported_files = invoker.imported_files | |
353 module_name = invoker.module_name | |
354 module_json = "front_end/" + module_name + "/module.json" | |
355 | |
356 copy(target_name) { | |
357 sources = [ module_json ] + imported_files | |
358 outputs = [ resources_out_dir + module_name + "/{{source_file_part}}" ] | |
359 } | |
360 } | |
361 | |
362 copy_debug_module("copy_audits_module") { | |
363 module_name = "audits" | |
364 imported_files = gypi_values.devtools_audits_js_files | |
365 } | |
366 | |
367 copy_debug_module("copy_bindings_module") { | |
368 module_name = "bindings" | |
369 imported_files = gypi_values.devtools_bindings_js_files | |
370 } | |
371 | |
372 copy_debug_module("copy_common_module") { | |
373 module_name = "common" | |
374 imported_files = gypi_values.devtools_common_js_files | |
375 } | |
376 | |
377 copy_debug_module("copy_components_module") { | |
378 module_name = "components" | |
379 imported_files = gypi_values.devtools_components_js_files | |
380 } | |
381 | |
382 copy_debug_module("copy_console_module") { | |
383 module_name = "console" | |
384 imported_files = gypi_values.devtools_console_js_files | |
385 } | |
386 | |
387 copy_debug_module("copy_devices_module") { | |
388 module_name = "devices" | |
389 imported_files = gypi_values.devtools_devices_js_files | |
390 } | |
391 | |
392 copy_debug_module("copy_documentation_module") { | |
393 module_name = "documentation" | |
394 imported_files = gypi_values.devtools_documentation_js_files | |
395 } | |
396 | |
397 copy_debug_module("copy_elements_module") { | |
398 module_name = "elements" | |
399 imported_files = gypi_values.devtools_elements_js_files | |
400 } | |
401 | |
402 copy_debug_module("copy_extensions_module") { | |
403 module_name = "extensions" | |
404 imported_files = devtools_extensions_js_files | |
405 } | |
406 | |
407 copy_debug_module("copy_heap_snapshot_worker_module") { | |
408 module_name = "heap_snapshot_worker" | |
409 imported_files = gypi_values.devtools_heap_snapshot_worker_js_files | |
410 } | |
411 | |
412 copy_debug_module("copy_host_module") { | |
413 module_name = "host" | |
414 imported_files = gypi_values.devtools_host_js_files | |
415 } | |
416 | |
417 copy_debug_module("copy_layers_module") { | |
418 module_name = "layers" | |
419 imported_files = gypi_values.devtools_layers_js_files | |
420 } | |
421 | |
422 copy_debug_module("copy_main_module") { | |
423 module_name = "main" | |
424 imported_files = gypi_values.devtools_main_js_files | |
425 } | |
426 | |
427 copy_debug_module("copy_network_module") { | |
428 module_name = "network" | |
429 imported_files = gypi_values.devtools_network_js_files | |
430 } | |
431 | |
432 copy_debug_module("copy_profiler_module") { | |
433 module_name = "profiler" | |
434 imported_files = gypi_values.devtools_profiler_js_files | |
435 } | |
436 | |
437 copy_debug_module("copy_promises_module") { | |
438 module_name = "promises" | |
439 imported_files = gypi_values.devtools_promises_js_files | |
440 } | |
441 | |
442 copy_debug_module("copy_resources_module") { | |
443 module_name = "resources" | |
444 imported_files = gypi_values.devtools_resources_js_files | |
445 } | |
446 | |
447 copy_debug_module("copy_screencast_module") { | |
448 module_name = "screencast" | |
449 imported_files = gypi_values.devtools_screencast_js_files | |
450 } | |
451 | |
452 group("copy_script_formatter_worker_module") { | |
453 copy_debug_module("copy_script_formatter_worker_module_base") { | |
454 module_name = "script_formatter_worker" | |
455 imported_files = gypi_values.devtools_uglify_files + | |
456 gypi_values.devtools_script_formatter_worker_js_files | |
457 } | |
458 | |
459 copy("copy_uglify_js_files") { | |
460 sources = gypi_values.devtools_uglify_files | |
461 outputs = [ resources_out_dir + "UglifyJS/{{source_file_part}}" ] | |
462 } | |
463 | |
464 deps = [ | |
465 ":copy_script_formatter_worker_module_base", | |
466 ":copy_uglify_js_files" | |
467 ] | |
468 } | |
469 | |
470 copy_debug_module("copy_sdk_module") { | |
471 module_name = "sdk" | |
472 imported_files = gypi_values.devtools_sdk_js_files | |
473 } | |
474 | |
475 copy_debug_module("copy_settings_module") { | |
476 module_name = "settings" | |
477 imported_files = gypi_values.devtools_settings_js_files | |
478 } | |
479 | |
480 group("copy_source_frame_module") { | |
481 copy_debug_module("copy_source_frame_module_base") { | |
482 module_name = "source_frame" | |
483 imported_files = gypi_values.devtools_source_frame_js_files | |
484 } | |
485 | |
486 copy("copy_codemirror_js_files") { | |
487 sources = gypi_values.devtools_cm_js_files | |
488 outputs = [ resources_out_dir + "cm/{{source_file_part}}" ] | |
489 } | |
490 | |
491 deps = [ | |
492 ":copy_source_frame_module_base", | |
493 ":copy_codemirror_js_files", | 282 ":copy_codemirror_js_files", |
494 ] | 283 ] |
495 } | 284 } |
496 | 285 |
497 copy_debug_module("copy_sources_module") { | 286 copy("copy_runtime_core") { |
498 module_name = "sources" | 287 sources = devtools_core_base_non_generated_files - |
499 imported_files = gypi_values.devtools_sources_js_files | 288 gypi_values.devtools_standalone_files |
| 289 outputs = [ resources_out_dir + "/{{source_file_part}}" ] |
500 } | 290 } |
501 | 291 |
502 copy_debug_module("copy_temp_storage_shared_worker_module") { | 292 copy("copy_uglify_js_files") { |
503 module_name = "temp_storage_shared_worker" | 293 sources = gypi_values.devtools_uglify_files |
504 imported_files = gypi_values.devtools_temp_storage_shared_worker_js_files | 294 outputs = [ resources_out_dir + "UglifyJS/{{source_file_part}}" ] |
505 } | 295 } |
506 | 296 |
507 copy_debug_module("copy_timeline_module") { | 297 copy("copy_codemirror_js_files") { |
508 module_name = "timeline" | 298 sources = gypi_values.devtools_cm_js_files |
509 imported_files = gypi_values.devtools_timeline_js_files | 299 outputs = [ resources_out_dir + "cm/{{source_file_part}}" ] |
510 } | |
511 | |
512 copy_debug_module("copy_toolbox_module") { | |
513 module_name = "toolbox" | |
514 imported_files = gypi_values.devtools_toolbox_js_files | |
515 } | |
516 | |
517 copy_debug_module("copy_toolbox_bootstrap_module") { | |
518 module_name = "toolbox_bootstrap" | |
519 imported_files = gypi_values.devtools_toolbox_bootstrap_js_files | |
520 } | |
521 | |
522 copy_debug_module("copy_ui_module") { | |
523 module_name = "ui" | |
524 imported_files = gypi_values.devtools_ui_js_files | |
525 } | |
526 | |
527 copy_debug_module("copy_workspace_module") { | |
528 module_name = "workspace" | |
529 imported_files = gypi_values.devtools_workspace_js_files | |
530 } | 300 } |
531 } | 301 } |
532 | 302 |
533 if (!debug_devtools) { | 303 if (!debug_devtools) { |
534 # Release: Concatenate application CSS. | 304 # Release: Concatenate application CSS. |
535 template("concatenate_css") { | 305 template("concatenate_css") { |
536 assert(defined(invoker.app_name), target_name) | 306 assert(defined(invoker.app_name), target_name) |
537 app_name = invoker.app_name | 307 app_name = invoker.app_name |
538 | 308 |
539 action(target_name) { | 309 action(target_name) { |
540 script = "scripts/concatenate_css_files.py" | 310 script = "scripts/concatenate_css_files.py" |
541 | 311 |
542 input_stylesheet = "front_end/" + app_name + ".css" | 312 input_stylesheet = "front_end/" + app_name + ".css" |
543 inputs = [ input_stylesheet ] + devtools_core_base_files | 313 inputs = [ input_stylesheet ] + devtools_core_base_non_generated_files |
544 | 314 |
545 outputs = [ resources_out_dir + app_name + ".css" ] | 315 outputs = [ resources_out_dir + app_name + ".css" ] |
546 | 316 |
547 args = [ rebase_path(input_stylesheet, root_build_dir) ] + | 317 args = [ rebase_path(input_stylesheet, root_build_dir) ] + |
548 rebase_path(outputs, root_build_dir) | 318 rebase_path(outputs, root_build_dir) |
549 } | 319 } |
550 } | 320 } |
551 | 321 |
552 concatenate_css("concatenated_devtools_css") { | 322 concatenate_css("concatenated_devtools_css") { |
553 app_name = "devtools" | 323 app_name = "devtools" |
554 } | 324 } |
555 | 325 |
556 concatenate_css("concatenated_toolbox_css") { | 326 concatenate_css("concatenated_toolbox_css") { |
557 app_name = "toolbox" | 327 app_name = "toolbox" |
558 } | 328 } |
559 } | 329 } |
OLD | NEW |