1# 2# Copyright (C) 2013 Google Inc. All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: 7# 8# * Redistributions of source code must retain the above copyright 9# notice, this list of conditions and the following disclaimer. 10# * Redistributions in binary form must reproduce the above 11# copyright notice, this list of conditions and the following disclaimer 12# in the documentation and/or other materials provided with the 13# distribution. 14# * Neither the name of Google Inc. nor the names of its 15# contributors may be used to endorse or promote products derived from 16# this software without specific prior written permission. 17# 18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29# 30 31{ 32 'includes': [ 33 'devtools.gypi', 34 ], 35 'targets': [ 36 { 37 'target_name': 'devtools_frontend_resources', 38 'type': 'none', 39 'dependencies': [ 40 'devtools_html', 41 'supported_css_properties', 42 'frontend_protocol_sources', 43 'build_audits_module', 44 'build_core_module', 45 'build_console_module', 46 'build_devices_module', 47 'build_elements_module', 48 'build_extensions_module', 49 'build_layers_module', 50 'build_network_module', 51 'build_profiler_module', 52 'build_resources_module', 53 'build_search_module', 54 'build_settings_module', 55 'build_source_frame_module', 56 'build_sources_module', 57 'build_timeline_module', 58 'build_heap_snapshot_worker_module', 59 'build_script_formatter_worker_module', 60 'build_temp_storage_shared_worker_module', 61 ], 62 'conditions': [ 63 ['debug_devtools==0', { 64 'dependencies': [ 65 'concatenated_devtools_css', 66 ], 67 }], 68 ], 69 'copies': [ 70 { 71 'destination': '<(PRODUCT_DIR)/resources/inspector/Images', 72 'files': [ 73 '<@(devtools_image_files)', 74 ], 75 }, 76 ], 77 }, 78 { 79 'target_name': 'devtools_html', 80 'type': 'none', 81 'sources': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'], 82 'actions': [{ 83 'action_name': 'devtools_html', 84 'script_name': 'scripts/generate_devtools_html.py', 85 'input_page': 'front_end/inspector.html', 86 'inputs': [ 87 '<@(_script_name)', 88 '<@(_input_page)', 89 ], 90 'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'], 91 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_outputs)', '<@(debug_devtools)'], 92 }], 93 }, 94 { 95 'target_name': 'devtools_extension_api', 96 'type': 'none', 97 'actions': [{ 98 'action_name': 'devtools_html', 99 'script_name': 'scripts/generate_devtools_extension_api.py', 100 'inputs': [ 101 '<@(_script_name)', 102 '<@(devtools_extension_api_files)', 103 ], 104 'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools_extension_api.js'], 105 'action': ['python', '<@(_script_name)', '<@(_outputs)', '<@(devtools_extension_api_files)'], 106 }], 107 }, 108 { 109 'target_name': 'generate_devtools_grd', 110 'type': 'none', 111 'dependencies': [ 112 'devtools_html', 113 'devtools_extension_api', 114 'devtools_frontend_resources', 115 ], 116 'conditions': [ 117 ['debug_devtools==0', { 118 'actions': [{ 119 'action_name': 'generate_devtools_grd', 120 'script_name': 'scripts/generate_devtools_grd.py', 121 'relative_path_dirs': [ 122 '<(PRODUCT_DIR)/resources/inspector', 123 'front_end' 124 ], 125 'input_pages': [ 126 '<(PRODUCT_DIR)/resources/inspector/devtools.html', 127 '<(PRODUCT_DIR)/resources/inspector/main/Main.js', 128 '<(PRODUCT_DIR)/resources/inspector/search/AdvancedSearchView.js', 129 '<(PRODUCT_DIR)/resources/inspector/console/ConsolePanel.js', 130 '<(PRODUCT_DIR)/resources/inspector/elements/ElementsPanel.js', 131 '<(PRODUCT_DIR)/resources/inspector/extensions/ExtensionServer.js', 132 '<(PRODUCT_DIR)/resources/inspector/resources/ResourcesPanel.js', 133 '<(PRODUCT_DIR)/resources/inspector/network/NetworkPanel.js', 134 '<(PRODUCT_DIR)/resources/inspector/settings/SettingsScreen.js', 135 '<(PRODUCT_DIR)/resources/inspector/source_frame/SourceFrame.js', 136 '<(PRODUCT_DIR)/resources/inspector/sources/SourcesPanel.js', 137 '<(PRODUCT_DIR)/resources/inspector/timeline/TimelinePanel.js', 138 '<(PRODUCT_DIR)/resources/inspector/profiler/ProfilesPanel.js', 139 '<(PRODUCT_DIR)/resources/inspector/audits/AuditsPanel.js', 140 '<(PRODUCT_DIR)/resources/inspector/layers/LayersPanel.js', 141 '<(PRODUCT_DIR)/resources/inspector/profiler/heap_snapshot_worker/HeapSnapshotWorker.js', 142 '<(PRODUCT_DIR)/resources/inspector/script_formatter_worker/ScriptFormatterWorker.js', 143 '<(PRODUCT_DIR)/resources/inspector/temp_storage_shared_worker/TempStorageSharedWorker.js', 144 '<(PRODUCT_DIR)/resources/inspector/devices/DevicesView.js', 145 '<(PRODUCT_DIR)/resources/inspector/inspector.css', 146 '<(PRODUCT_DIR)/resources/inspector/devtools_extension_api.js', 147 '<@(devtools_standalone_files)', 148 '<@(devtools_cm_css_files)', 149 ], 150 'images': [ 151 '<@(devtools_image_files)', 152 ], 153 'inputs': [ 154 '<@(_script_name)', 155 '<@(_input_pages)', 156 '<@(_images)', 157 ], 158 'images_path': [ 159 'front_end/Images', 160 ], 161 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd'], 162 'action': ['python', '<@(_script_name)', '<@(_input_pages)', '--relative_path_dirs', '<@(_relative_path_dirs)', '--images', '<@(_images_path)', '--output', '<@(_outputs)'], 163 }], 164 }, 165 { 166 # If we're not concatenating devtools files, we want to 167 # run after the original files have been copied to 168 # <(PRODUCT_DIR)/resources/inspector. 169 'dependencies': ['devtools_frontend_resources'], 170 'actions': [{ 171 'action_name': 'generate_devtools_grd', 172 'script_name': 'scripts/generate_devtools_grd.py', 173 'relative_path_dirs': [ 174 'front_end', 175 '<(PRODUCT_DIR)/resources/inspector', 176 '<(SHARED_INTERMEDIATE_DIR)/blink', 177 ], 178 'input_pages': [ 179 '<@(all_devtools_files)', 180 '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js', 181 '<(SHARED_INTERMEDIATE_DIR)/blink/SupportedCSSProperties.js', 182 '<(PRODUCT_DIR)/resources/inspector/devtools.html', 183 ], 184 'images': [ 185 '<@(devtools_image_files)', 186 ], 187 'inputs': [ 188 '<@(_script_name)', 189 '<@(_input_pages)', 190 '<@(_images)', 191 ], 192 'images_path': [ 193 'front_end/Images', 194 ], 195 # Note that other files are put under /devtools directory, together with declared devtools_resources.grd 196 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd'], 197 'action': ['python', '<@(_script_name)', '<@(_input_pages)', '--relative_path_dirs', '<@(_relative_path_dirs)', '--images', '<@(_images_path)', '--output', '<@(_outputs)'], 198 }], 199 }], 200 ], 201 }, 202 { 203 'target_name': 'frontend_protocol_sources', 204 'type': 'none', 205 'actions': [ 206 { 207 'action_name': 'generateInspectorProtocolFrontendSources', 208 'inputs': [ 209 # The python script in action below. 210 'scripts/CodeGeneratorFrontend.py', 211 # Input file for the script. 212 'protocol.json', 213 ], 214 'outputs': [ 215 '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js', 216 ], 217 'action': [ 218 'python', 219 'scripts/CodeGeneratorFrontend.py', 220 'protocol.json', 221 '--output_js_dir', '<(SHARED_INTERMEDIATE_DIR)/blink', 222 ], 223 'message': 'Generating Inspector protocol frontend sources from protocol.json', 224 }, 225 ] 226 }, 227 { 228 'target_name': 'supported_css_properties', 229 'type': 'none', 230 'actions': [ 231 { 232 'action_name': 'generateSupportedCSSProperties', 233 'inputs': [ 234 # The python script in action below. 235 'scripts/generate_supported_css.py', 236 # Input files for the script. 237 '../core/css/CSSPropertyNames.in', 238 '../core/css/SVGCSSPropertyNames.in', 239 '../core/css/CSSShorthands.in', 240 ], 241 'outputs': [ 242 '<(SHARED_INTERMEDIATE_DIR)/blink/SupportedCSSProperties.js', 243 ], 244 'action': [ 245 'python', 246 '<@(_inputs)', 247 '<@(_outputs)', 248 ], 249 'message': 'Generating supported CSS properties for front end', 250 }, 251 ] 252 }, 253 # Frontend modules. 254 { 255 'target_name': 'build_core_module', 256 'type': 'none', 257 'conditions': [ 258 ['debug_devtools==0', { # Release 259 'dependencies': [ 260 'devtools_html', 261 'supported_css_properties', 262 'frontend_protocol_sources', 263 'concatenated_module_descriptors', 264 ], 265 'actions': [{ 266 'action_name': 'build_core_module', 267 'script_name': 'scripts/concatenate_js_files.py', 268 'input_page': 'front_end/inspector.html', 269 'inputs': [ 270 '<@(_script_name)', 271 '<@(_input_page)', 272 '<@(devtools_core_js_files)', 273 '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js', 274 '<(SHARED_INTERMEDIATE_DIR)/blink/SupportedCSSProperties.js', 275 '<(SHARED_INTERMEDIATE_DIR)/blink/common/modules.js', 276 ], 277 'search_path': [ 278 '<(SHARED_INTERMEDIATE_DIR)/blink', 279 'front_end', 280 ], 281 'outputs': ['<(PRODUCT_DIR)/resources/inspector/main/Main.js'], 282 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'], 283 }] 284 }, 285 { # Debug 286 'copies': [ 287 { 288 'destination': '<(PRODUCT_DIR)/resources/inspector', 289 'files': [ 290 '<@(devtools_core_base_js_files)', 291 '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js', 292 '<(SHARED_INTERMEDIATE_DIR)/blink/SupportedCSSProperties.js', 293 ], 294 }, 295 { 296 'destination': '<(PRODUCT_DIR)/resources/inspector/common', 297 'files': [ 298 '<@(devtools_common_js_files)', 299 ], 300 }, 301 { 302 'destination': '<(PRODUCT_DIR)/resources/inspector/components', 303 'files': [ 304 '<@(devtools_components_js_files)', 305 ], 306 }, 307 { 308 'destination': '<(PRODUCT_DIR)/resources/inspector/sdk', 309 'files': [ 310 '<@(devtools_sdk_js_files)', 311 ], 312 }, 313 { 314 'destination': '<(PRODUCT_DIR)/resources/inspector/ui', 315 'files': [ 316 '<@(devtools_ui_js_files)', 317 ], 318 }, 319 { 320 'destination': '<(PRODUCT_DIR)/resources/inspector/main', 321 'files': [ 322 '<@(devtools_main_js_files)', 323 'front_end/main/module.json', 324 ], 325 }, 326 ] 327 }] 328 ] 329 }, 330 { 331 'target_name': 'build_console_module', 332 'type': 'none', 333 'conditions': [ 334 ['debug_devtools==0', { # Release 335 'actions': [{ 336 'action_name': 'build_console_module', 337 'script_name': 'scripts/inline_js_imports.py', 338 'input_file': 'front_end/console/ConsolePanel.js', 339 'inputs': [ 340 '<@(_script_name)', 341 '<@(devtools_console_js_files)', 342 ], 343 'outputs': ['<(PRODUCT_DIR)/resources/inspector/console/ConsolePanel.js'], 344 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 345 }], 346 }, 347 { # Debug 348 'copies': [ 349 { 350 'destination': '<(PRODUCT_DIR)/resources/inspector/console', 351 'files': [ 352 '<@(devtools_console_js_files)', 353 'front_end/console/module.json', 354 ], 355 } 356 ] 357 }] 358 ] 359 }, 360 { 361 'target_name': 'build_search_module', 362 'type': 'none', 363 'conditions': [ 364 ['debug_devtools==0', { # Release 365 'actions': [{ 366 'action_name': 'build_search_module', 367 'script_name': 'scripts/inline_js_imports.py', 368 'input_file': 'front_end/search/AdvancedSearchView.js', 369 'inputs': [ 370 '<@(_script_name)', 371 '<@(devtools_search_js_files)', 372 ], 373 'outputs': ['<(PRODUCT_DIR)/resources/inspector/search/AdvancedSearchView.js'], 374 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 375 }], 376 }, 377 { # Debug 378 'copies': [ 379 { 380 'destination': '<(PRODUCT_DIR)/resources/inspector/search', 381 'files': [ 382 '<@(devtools_search_js_files)', 383 'front_end/search/module.json', 384 ], 385 } 386 ] 387 }] 388 ] 389 }, 390 { 391 'target_name': 'build_devices_module', 392 'type': 'none', 393 'conditions': [ 394 ['debug_devtools==0', { # Release 395 'actions': [{ 396 'action_name': 'build_devices_module', 397 'script_name': 'scripts/inline_js_imports.py', 398 'input_file': 'front_end/devices/DevicesView.js', 399 'inputs': [ 400 '<@(_script_name)', 401 '<@(devtools_devices_js_files)', 402 ], 403 'outputs': ['<(PRODUCT_DIR)/resources/inspector/devices/DevicesView.js'], 404 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 405 }], 406 }, 407 { # Debug 408 'copies': [ 409 { 410 'destination': '<(PRODUCT_DIR)/resources/inspector/devices', 411 'files': [ 412 '<@(devtools_devices_js_files)', 413 'front_end/devices/module.json', 414 ], 415 } 416 ] 417 }] 418 ] 419 }, 420 { 421 'target_name': 'build_elements_module', 422 'type': 'none', 423 'conditions': [ 424 ['debug_devtools==0', { # Release 425 'actions': [{ 426 'action_name': 'build_elements_module', 427 'script_name': 'scripts/inline_js_imports.py', 428 'input_file': 'front_end/elements/ElementsPanel.js', 429 'inputs': [ 430 '<@(_script_name)', 431 '<@(devtools_elements_js_files)', 432 ], 433 'outputs': ['<(PRODUCT_DIR)/resources/inspector/elements/ElementsPanel.js'], 434 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 435 }], 436 }, 437 { # Debug 438 'copies': [ 439 { 440 'destination': '<(PRODUCT_DIR)/resources/inspector/elements', 441 'files': [ 442 '<@(devtools_elements_js_files)', 443 'front_end/elements/module.json', 444 ], 445 } 446 ] 447 }] 448 ] 449 }, 450 { 451 'target_name': 'build_resources_module', 452 'type': 'none', 453 'conditions': [ 454 ['debug_devtools==0', { # Release 455 'actions': [{ 456 'action_name': 'build_resources_module', 457 'script_name': 'scripts/inline_js_imports.py', 458 'input_file': 'front_end/resources/ResourcesPanel.js', 459 'inputs': [ 460 '<@(_script_name)', 461 '<@(devtools_resources_js_files)', 462 ], 463 'outputs': ['<(PRODUCT_DIR)/resources/inspector/resources/ResourcesPanel.js'], 464 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 465 }], 466 }, 467 { # Debug 468 'copies': [ 469 { 470 'destination': '<(PRODUCT_DIR)/resources/inspector/resources', 471 'files': [ 472 '<@(devtools_resources_js_files)', 473 'front_end/resources/module.json', 474 ], 475 } 476 ] 477 }] 478 ] 479 }, 480 { 481 'target_name': 'build_network_module', 482 'type': 'none', 483 'conditions': [ 484 ['debug_devtools==0', { # Release 485 'actions': [{ 486 'action_name': 'build_network_module', 487 'script_name': 'scripts/inline_js_imports.py', 488 'input_file': 'front_end/network/NetworkPanel.js', 489 'inputs': [ 490 '<@(_script_name)', 491 '<@(devtools_network_js_files)', 492 ], 493 'outputs': ['<(PRODUCT_DIR)/resources/inspector/network/NetworkPanel.js'], 494 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 495 }], 496 }, 497 { # Debug 498 'copies': [ 499 { 500 'destination': '<(PRODUCT_DIR)/resources/inspector/network', 501 'files': [ 502 '<@(devtools_network_js_files)', 503 'front_end/network/module.json', 504 ], 505 } 506 ] 507 }] 508 ] 509 }, 510 { 511 'target_name': 'build_extensions_module', 512 'type': 'none', 513 'conditions': [ 514 ['debug_devtools==0', { # Release 515 'actions': [{ 516 'action_name': 'build_extensions_module', 517 'script_name': 'scripts/inline_js_imports.py', 518 'input_file': 'front_end/extensions/ExtensionServer.js', 519 'inputs': [ 520 '<@(_script_name)', 521 '<@(devtools_extensions_js_files)', 522 ], 523 'outputs': ['<(PRODUCT_DIR)/resources/inspector/extensions/ExtensionServer.js'], 524 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 525 }], 526 }, 527 { # Debug 528 'copies': [ 529 { 530 'destination': '<(PRODUCT_DIR)/resources/inspector/extensions', 531 'files': [ 532 '<@(devtools_extensions_js_files)', 533 'front_end/extensions/module.json', 534 ], 535 } 536 ] 537 }] 538 ] 539 }, 540 { 541 'target_name': 'build_source_frame_module', 542 'type': 'none', 543 'conditions': [ 544 ['debug_devtools==0', { # Release 545 'actions': [{ 546 'action_name': 'build_source_frame_module', 547 'script_name': 'scripts/inline_js_imports.py', 548 'input_file': 'front_end/source_frame/SourceFrame.js', 549 'inputs': [ 550 '<@(_script_name)', 551 '<@(devtools_source_frame_js_files)', 552 '<@(devtools_cm_js_files)', 553 ], 554 'outputs': ['<(PRODUCT_DIR)/resources/inspector/source_frame/SourceFrame.js'], 555 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 556 }], 557 'copies': [ 558 { 559 'destination': '<(PRODUCT_DIR)/resources/inspector/cm', 560 'files': [ 561 '<@(devtools_cm_css_files)', 562 ], 563 } 564 ], 565 }, 566 { # Debug 567 'copies': [ 568 { 569 'destination': '<(PRODUCT_DIR)/resources/inspector/source_frame', 570 'files': [ 571 '<@(devtools_source_frame_js_files)', 572 'front_end/source_frame/module.json', 573 ], 574 }, 575 { 576 'destination': '<(PRODUCT_DIR)/resources/inspector/cm', 577 'files': [ 578 '<@(devtools_cm_js_files)', 579 '<@(devtools_cm_css_files)', 580 ], 581 } 582 ] 583 }] 584 ] 585 }, 586 { 587 'target_name': 'build_sources_module', 588 'type': 'none', 589 'conditions': [ 590 ['debug_devtools==0', { # Release 591 'actions': [{ 592 'action_name': 'build_sources_module', 593 'script_name': 'scripts/inline_js_imports.py', 594 'input_file': 'front_end/sources/SourcesPanel.js', 595 'inputs': [ 596 '<@(_script_name)', 597 '<@(devtools_sources_js_files)', 598 ], 599 'outputs': ['<(PRODUCT_DIR)/resources/inspector/sources/SourcesPanel.js'], 600 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 601 }], 602 }, 603 { # Debug 604 'copies': [ 605 { 606 'destination': '<(PRODUCT_DIR)/resources/inspector/sources', 607 'files': [ 608 '<@(devtools_sources_js_files)', 609 'front_end/sources/module.json', 610 ], 611 } 612 ] 613 }] 614 ] 615 }, 616 { 617 'target_name': 'build_timeline_module', 618 'type': 'none', 619 'conditions': [ 620 ['debug_devtools==0', { # Release 621 'actions': [{ 622 'action_name': 'build_timeline_module', 623 'script_name': 'scripts/inline_js_imports.py', 624 'input_file': 'front_end/timeline/TimelinePanel.js', 625 'inputs': [ 626 '<@(_script_name)', 627 '<@(devtools_timeline_js_files)', 628 ], 629 'outputs': ['<(PRODUCT_DIR)/resources/inspector/timeline/TimelinePanel.js'], 630 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 631 }], 632 }, 633 { # Debug 634 'copies': [ 635 { 636 'destination': '<(PRODUCT_DIR)/resources/inspector/timeline', 637 'files': [ 638 '<@(devtools_timeline_js_files)', 639 'front_end/timeline/module.json', 640 ], 641 } 642 ] 643 }] 644 ] 645 }, 646 { 647 'target_name': 'build_profiler_module', 648 'type': 'none', 649 'conditions': [ 650 ['debug_devtools==0', { # Release 651 'actions': [{ 652 'action_name': 'build_profiler_module', 653 'script_name': 'scripts/inline_js_imports.py', 654 'input_file': 'front_end/profiler/ProfilesPanel.js', 655 'inputs': [ 656 '<@(_script_name)', 657 '<@(devtools_profiler_js_files)', 658 ], 659 'outputs': ['<(PRODUCT_DIR)/resources/inspector/profiler/ProfilesPanel.js'], 660 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 661 }], 662 }, 663 { # Debug 664 'copies': [ 665 { 666 'destination': '<(PRODUCT_DIR)/resources/inspector/profiler', 667 'files': [ 668 '<@(devtools_profiler_js_files)', 669 'front_end/profiler/module.json', 670 ], 671 } 672 ] 673 }] 674 ] 675 }, 676 { 677 'target_name': 'build_audits_module', 678 'type': 'none', 679 'conditions': [ 680 ['debug_devtools==0', { # Release 681 'actions': [{ 682 'action_name': 'build_audits_module', 683 'script_name': 'scripts/inline_js_imports.py', 684 'input_file': 'front_end/audits/AuditsPanel.js', 685 'inputs': [ 686 '<@(_script_name)', 687 '<@(devtools_audits_js_files)', 688 ], 689 'outputs': ['<(PRODUCT_DIR)/resources/inspector/audits/AuditsPanel.js'], 690 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 691 }], 692 }, 693 { # Debug 694 'copies': [ 695 { 696 'destination': '<(PRODUCT_DIR)/resources/inspector/audits', 697 'files': [ 698 '<@(devtools_audits_js_files)', 699 'front_end/audits/module.json', 700 ], 701 } 702 ] 703 }] 704 ] 705 }, 706 { 707 'target_name': 'build_settings_module', 708 'type': 'none', 709 'conditions': [ 710 ['debug_devtools==0', { # Release 711 'actions': [{ 712 'action_name': 'build_settings_module', 713 'script_name': 'scripts/inline_js_imports.py', 714 'input_file': 'front_end/settings/SettingsScreen.js', 715 'inputs': [ 716 '<@(_script_name)', 717 '<@(devtools_settings_js_files)', 718 ], 719 'outputs': ['<(PRODUCT_DIR)/resources/inspector/settings/SettingsScreen.js'], 720 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 721 }], 722 }, 723 { # Debug 724 'copies': [ 725 { 726 'destination': '<(PRODUCT_DIR)/resources/inspector/settings', 727 'files': [ 728 '<@(devtools_settings_js_files)', 729 'front_end/settings/module.json', 730 ], 731 } 732 ] 733 }] 734 ] 735 }, 736 { 737 'target_name': 'build_heap_snapshot_worker_module', 738 'type': 'none', 739 'conditions': [ 740 ['debug_devtools==0', { # Release 741 'actions': [{ 742 'action_name': 'build_heap_snapshot_worker_module', 743 'script_name': 'scripts/inline_js_imports.py', 744 'input_file': 'front_end/profiler/heap_snapshot_worker/HeapSnapshotWorker.js', 745 'inputs': [ 746 '<@(_script_name)', 747 '<@(_input_file)', 748 '<@(devtools_heap_snapshot_worker_js_files)', 749 ], 750 'outputs': ['<(PRODUCT_DIR)/resources/inspector/profiler/heap_snapshot_worker/HeapSnapshotWorker.js'], 751 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 752 }], 753 }, 754 { # Debug 755 'copies': [ 756 { 757 'destination': '<(PRODUCT_DIR)/resources/inspector/profiler/heap_snapshot_worker', 758 'files': [ 759 '<@(devtools_heap_snapshot_worker_js_files)', 760 ], 761 } 762 ] 763 }] 764 ] 765 }, 766 { 767 'target_name': 'build_script_formatter_worker_module', 768 'type': 'none', 769 'conditions': [ 770 ['debug_devtools==0', { # Release 771 'actions': [{ 772 'action_name': 'build_script_formatter_worker_module', 773 'script_name': 'scripts/inline_js_imports.py', 774 'input_file': 'front_end/script_formatter_worker/ScriptFormatterWorker.js', 775 'inputs': [ 776 '<@(_script_name)', 777 '<@(_input_file)', 778 '<@(devtools_uglify_files)' 779 ], 780 'outputs': ['<(PRODUCT_DIR)/resources/inspector/script_formatter_worker/ScriptFormatterWorker.js'], 781 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 782 }], 783 }, 784 { # Debug 785 'copies': [ 786 { 787 'destination': '<(PRODUCT_DIR)/resources/inspector/script_formatter_worker', 788 'files': [ 789 '<@(devtools_script_formatter_worker_js_files)', 790 ], 791 }, 792 { 793 'destination': '<(PRODUCT_DIR)/resources/inspector/UglifyJS', 794 'files': [ 795 '<@(devtools_uglify_files)', 796 ], 797 } 798 ] 799 }] 800 ] 801 }, 802 { 803 'target_name': 'build_temp_storage_shared_worker_module', 804 'type': 'none', 805 'conditions': [ 806 ['debug_devtools==0', { # Release 807 'actions': [{ 808 'action_name': 'build_temp_storage_shared_worker_module', 809 'script_name': 'scripts/inline_js_imports.py', 810 'input_file': 'front_end/temp_storage_shared_worker/TempStorageSharedWorker.js', 811 'inputs': [ 812 '<@(_script_name)', 813 '<@(devtools_temp_storage_shared_worker_js_files)' 814 ], 815 'outputs': ['<(PRODUCT_DIR)/resources/inspector/temp_storage_shared_worker/TempStorageSharedWorker.js'], 816 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 817 }], 818 }, 819 { # Debug 820 'copies': [ 821 { 822 'destination': '<(PRODUCT_DIR)/resources/inspector/temp_storage_shared_worker', 823 'files': [ 824 '<@(devtools_temp_storage_shared_worker_js_files)', 825 ], 826 } 827 ] 828 }] 829 ] 830 }, 831 { 832 'target_name': 'build_layers_module', 833 'type': 'none', 834 'conditions': [ 835 ['debug_devtools==0', { # Release 836 'actions': [{ 837 'action_name': 'build_layers_module', 838 'script_name': 'scripts/inline_js_imports.py', 839 'input_file': 'front_end/layers/LayersPanel.js', 840 'inputs': [ 841 '<@(_script_name)', 842 '<@(devtools_layers_js_files)', 843 ], 844 'outputs': ['<(PRODUCT_DIR)/resources/inspector/layers/LayersPanel.js'], 845 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)'], 846 }], 847 }, 848 { # Debug 849 'copies': [ 850 { 851 'destination': '<(PRODUCT_DIR)/resources/inspector/layers', 852 'files': [ 853 '<@(devtools_layers_js_files)', 854 'front_end/layers/module.json', 855 ], 856 } 857 ] 858 }] 859 ] 860 }, 861 ], # targets 862 'conditions': [ 863 ['debug_devtools==0', { 864 'targets': [ 865 { 866 'target_name': 'concatenated_devtools_css', 867 'type': 'none', 868 'dependencies': [ 869 'devtools_html' 870 ], 871 'actions': [{ 872 'action_name': 'concatenate_devtools_css', 873 'script_name': 'scripts/concatenate_css_files.py', 874 'input_page': 'front_end/inspector.html', 875 'inputs': [ 876 '<@(_script_name)', 877 '<@(_input_page)', 878 '<@(all_devtools_files)', 879 ], 880 'search_path': [ 'front_end' ], 881 'outputs': ['<(PRODUCT_DIR)/resources/inspector/inspector.css'], 882 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'], 883 }], 884 'copies': [{ 885 'destination': '<(PRODUCT_DIR)/resources/inspector', 886 'files': [ 887 '<@(devtools_standalone_files)', 888 ], 889 }], 890 }, 891 { 892 'target_name': 'concatenated_module_descriptors', 893 'type': 'none', 894 'actions': [{ 895 'action_name': 'concatenated_module_descriptors', 896 'script_name': 'scripts/concatenate_module_descriptors.py', 897 'input_file': ['front_end/common/modules.js'], 898 'inputs': [ 899 '<@(_script_name)', 900 '<@(_input_file)', 901 '<@(devtools_module_json_files)', 902 ], 903 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/blink/common/modules.js'], 904 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_outputs)', '<@(devtools_module_json_files)'], 905 }], 906 }, 907 ], 908 }], 909 ], # conditions 910} 911