| # |
| # Copyright (C) 2013 Google Inc. All rights reserved. |
| # |
| # Redistribution and use in source and binary forms, with or without |
| # modification, are permitted provided that the following conditions are |
| # met: |
| # |
| # * Redistributions of source code must retain the above copyright |
| # notice, this list of conditions and the following disclaimer. |
| # * Redistributions in binary form must reproduce the above |
| # copyright notice, this list of conditions and the following disclaimer |
| # in the documentation and/or other materials provided with the |
| # distribution. |
| # * Neither the name of Google Inc. nor the names of its |
| # contributors may be used to endorse or promote products derived from |
| # this software without specific prior written permission. |
| # |
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| # |
| |
| { |
| 'includes': [ |
| 'devtools.gypi', |
| ], |
| 'targets': [ |
| { |
| 'target_name': 'devtools_frontend_resources', |
| 'type': 'none', |
| 'dependencies': [ |
| 'devtools_html', |
| 'frontend_protocol_sources', |
| ], |
| 'conditions': [ |
| ['debug_devtools==0', { |
| 'dependencies': ['concatenated_devtools_js', |
| 'concatenated_devtools_elements_js', |
| 'concatenated_devtools_resources_js', |
| 'concatenated_devtools_network_js', |
| 'concatenated_devtools_scripts_js', |
| 'concatenated_devtools_timeline_js', |
| 'concatenated_devtools_profiles_js', |
| 'concatenated_devtools_audits_js', |
| 'concatenated_devtools_codemirror_js', |
| 'concatenated_devtools_layers_js', |
| 'concatenated_heap_snapshot_worker_js', |
| 'concatenated_script_formatter_worker_js', |
| 'concatenated_devtools_css'], |
| }], |
| ], |
| 'copies': [ |
| { |
| 'destination': '<(PRODUCT_DIR)/resources/inspector', |
| 'files': [ |
| '<@(devtools_files)', |
| '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js', |
| ], |
| 'conditions': [ |
| ['debug_devtools==0', { |
| 'files/': [['exclude', '\\.(js|css|html)$']], |
| }], |
| ], |
| }, |
| { |
| 'destination': '<(PRODUCT_DIR)/resources/inspector/UglifyJS', |
| 'files': [ |
| '<@(devtools_uglify_files)', |
| ], |
| 'conditions': [ |
| ['debug_devtools==0', { |
| 'files/': [['exclude', '\\.(js|css|html)$']], |
| }], |
| ], |
| }, |
| { |
| 'destination': '<(PRODUCT_DIR)/resources/inspector/cm', |
| 'files': [ |
| '<@(devtools_cm_files)', |
| ], |
| 'conditions': [ |
| ['debug_devtools==0', { |
| 'files/': [['exclude', '\\.(js|css|html)$']], |
| }], |
| ], |
| }, |
| { |
| 'destination': '<(PRODUCT_DIR)/resources/inspector/Images', |
| 'files': [ |
| '<@(devtools_image_files)', |
| ], |
| }, |
| ], |
| }, |
| { |
| 'target_name': 'devtools_html', |
| 'type': 'none', |
| 'sources': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'], |
| 'actions': [{ |
| 'action_name': 'devtools_html', |
| 'script_name': 'scripts/generate_devtools_html.py', |
| 'input_page': 'front_end/inspector.html', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(_input_page)', |
| ], |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_outputs)', '<@(debug_devtools)'], |
| }], |
| }, |
| { |
| 'target_name': 'devtools_extension_api', |
| 'type': 'none', |
| 'actions': [{ |
| 'action_name': 'devtools_html', |
| 'script_name': 'scripts/generate_devtools_extension_api.py', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(devtools_extension_api_files)', |
| ], |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools_extension_api.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_outputs)', '<@(devtools_extension_api_files)'], |
| }], |
| }, |
| { |
| 'target_name': 'generate_devtools_grd', |
| 'type': 'none', |
| 'dependencies': [ |
| 'devtools_html', |
| 'devtools_extension_api' |
| ], |
| 'conditions': [ |
| ['debug_devtools==0', { |
| 'dependencies': ['concatenated_devtools_js', |
| 'concatenated_devtools_elements_js', |
| 'concatenated_devtools_resources_js', |
| 'concatenated_devtools_network_js', |
| 'concatenated_devtools_scripts_js', |
| 'concatenated_devtools_timeline_js', |
| 'concatenated_devtools_profiles_js', |
| 'concatenated_devtools_audits_js', |
| 'concatenated_devtools_codemirror_js', |
| 'concatenated_devtools_layers_js', |
| 'concatenated_heap_snapshot_worker_js', |
| 'concatenated_script_formatter_worker_js', |
| 'concatenated_devtools_css'], |
| 'actions': [{ |
| 'action_name': 'generate_devtools_grd', |
| 'script_name': 'scripts/generate_devtools_grd.py', |
| 'input_pages': [ |
| '<(PRODUCT_DIR)/resources/inspector/devtools.html', |
| '<(PRODUCT_DIR)/resources/inspector/inspector.js', |
| '<(PRODUCT_DIR)/resources/inspector/ElementsPanel.js', |
| '<(PRODUCT_DIR)/resources/inspector/ResourcesPanel.js', |
| '<(PRODUCT_DIR)/resources/inspector/NetworkPanel.js', |
| '<(PRODUCT_DIR)/resources/inspector/SourcesPanel.js', |
| '<(PRODUCT_DIR)/resources/inspector/TimelinePanel.js', |
| '<(PRODUCT_DIR)/resources/inspector/ProfilesPanel.js', |
| '<(PRODUCT_DIR)/resources/inspector/AuditsPanel.js', |
| '<(PRODUCT_DIR)/resources/inspector/LayersPanel.js', |
| '<(PRODUCT_DIR)/resources/inspector/CodeMirrorTextEditor.js', |
| '<(PRODUCT_DIR)/resources/inspector/HeapSnapshotWorker.js', |
| '<(PRODUCT_DIR)/resources/inspector/ScriptFormatterWorker.js', |
| '<(PRODUCT_DIR)/resources/inspector/inspector.css', |
| '<(PRODUCT_DIR)/resources/inspector/devtools_extension_api.js', |
| '<@(devtools_standalone_files)', |
| ], |
| 'images': [ |
| '<@(devtools_image_files)', |
| ], |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(_input_pages)', |
| '<@(_images)', |
| ], |
| 'search_path': [ |
| 'front_end/Images', |
| ], |
| 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_pages)', '--images', '<@(_search_path)', '--output', '<@(_outputs)'], |
| }], |
| }, |
| { |
| # If we're not concatenating devtools files, we want to |
| # run after the original files have been copied to |
| # <(PRODUCT_DIR)/resources/inspector. |
| 'dependencies': ['devtools_frontend_resources'], |
| 'actions': [{ |
| 'action_name': 'generate_devtools_grd', |
| 'script_name': 'scripts/generate_devtools_grd.py', |
| 'input_pages': [ |
| '<@(devtools_files)', |
| '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js', |
| '<(PRODUCT_DIR)/resources/inspector/devtools.html', |
| ], |
| 'images': [ |
| '<@(devtools_image_files)', |
| ], |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(_input_pages)', |
| '<@(_images)', |
| ], |
| 'search_path': [ |
| 'front_end/Images', |
| ], |
| # Note that other files are put under /devtools directory, together with declared devtools_resources.grd |
| 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_pages)', '--images', '<@(_search_path)', '--output', '<@(_outputs)'], |
| }], |
| }], |
| ], |
| }, |
| { |
| 'target_name': 'frontend_protocol_sources', |
| 'type': 'none', |
| 'actions': [ |
| { |
| 'action_name': 'generateInspectorProtocolFrontendSources', |
| 'inputs': [ |
| # The python script in action below. |
| 'scripts/CodeGeneratorFrontend.py', |
| # Input file for the script. |
| 'protocol.json', |
| ], |
| 'outputs': [ |
| '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js', |
| ], |
| 'action': [ |
| 'python', |
| 'scripts/CodeGeneratorFrontend.py', |
| 'protocol.json', |
| '--output_js_dir', '<(SHARED_INTERMEDIATE_DIR)/blink', |
| ], |
| 'message': 'Generating Inspector protocol frontend sources from protocol.json', |
| 'msvs_cygwin_shell': 1, |
| }, |
| ] |
| }, |
| ], # targets |
| 'conditions': [ |
| ['debug_devtools==0', { |
| 'targets': [ |
| { |
| 'target_name': 'concatenated_devtools_js', |
| 'type': 'none', |
| 'dependencies': [ |
| 'devtools_html', |
| 'frontend_protocol_sources' |
| ], |
| 'actions': [{ |
| 'action_name': 'concatenate_devtools_js', |
| 'script_name': 'scripts/concatenate_js_files.py', |
| 'input_page': 'front_end/inspector.html', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(_input_page)', |
| '<@(devtools_files)', |
| '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js' |
| ], |
| 'search_path': [ |
| 'front_end', |
| '<(SHARED_INTERMEDIATE_DIR)/blink', |
| ], |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/inspector.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| }, |
| { |
| 'target_name': 'concatenated_devtools_elements_js', |
| 'type': 'none', |
| 'actions': [{ |
| 'action_name': 'concatenate_devtools_elements_js', |
| 'script_name': 'scripts/inline_js_imports.py', |
| 'input_file': 'front_end/ElementsPanel.js', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(devtools_elements_js_files)', |
| ], |
| 'search_path': 'front_end', |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/ElementsPanel.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| }, |
| { |
| 'target_name': 'concatenated_devtools_resources_js', |
| 'type': 'none', |
| 'actions': [{ |
| 'action_name': 'concatenate_devtools_resources_js', |
| 'script_name': 'scripts/inline_js_imports.py', |
| 'input_file': 'front_end/ResourcesPanel.js', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(devtools_resources_js_files)', |
| ], |
| 'search_path': 'front_end', |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/ResourcesPanel.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| }, |
| { |
| 'target_name': 'concatenated_devtools_network_js', |
| 'type': 'none', |
| 'actions': [{ |
| 'action_name': 'concatenate_devtools_network_js', |
| 'script_name': 'scripts/inline_js_imports.py', |
| 'input_file': 'front_end/NetworkPanel.js', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(devtools_network_js_files)', |
| ], |
| 'search_path': 'front_end', |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/NetworkPanel.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| }, |
| { |
| 'target_name': 'concatenated_devtools_scripts_js', |
| 'type': 'none', |
| 'actions': [{ |
| 'action_name': 'concatenate_devtools_scripts_js', |
| 'script_name': 'scripts/inline_js_imports.py', |
| 'input_file': 'front_end/SourcesPanel.js', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(devtools_scripts_js_files)', |
| ], |
| 'search_path': 'front_end', |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/SourcesPanel.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| }, |
| { |
| 'target_name': 'concatenated_devtools_timeline_js', |
| 'type': 'none', |
| 'actions': [{ |
| 'action_name': 'concatenate_devtools_timeline_js', |
| 'script_name': 'scripts/inline_js_imports.py', |
| 'input_file': 'front_end/TimelinePanel.js', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(devtools_timeline_js_files)', |
| ], |
| 'search_path': 'front_end', |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/TimelinePanel.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| }, |
| { |
| 'target_name': 'concatenated_devtools_profiles_js', |
| 'type': 'none', |
| 'actions': [{ |
| 'action_name': 'concatenate_devtools_profiles_js', |
| 'script_name': 'scripts/inline_js_imports.py', |
| 'input_file': 'front_end/ProfilesPanel.js', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(devtools_profiles_js_files)', |
| ], |
| 'search_path': 'front_end', |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/ProfilesPanel.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| }, |
| { |
| 'target_name': 'concatenated_devtools_audits_js', |
| 'type': 'none', |
| 'actions': [{ |
| 'action_name': 'concatenate_devtools_audits_js', |
| 'script_name': 'scripts/inline_js_imports.py', |
| 'input_file': 'front_end/AuditsPanel.js', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(devtools_audits_js_files)', |
| ], |
| 'search_path': 'front_end', |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/AuditsPanel.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| }, |
| { |
| 'target_name': 'concatenated_devtools_codemirror_js', |
| 'type': 'none', |
| 'actions': [{ |
| 'action_name': 'concatenate_devtools_codemirror_js', |
| 'script_name': 'scripts/inline_js_imports.py', |
| 'input_file': 'front_end/CodeMirrorTextEditor.js', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(devtools_codemirror_js_files)', |
| '<@(devtools_cm_files)', |
| ], |
| 'search_path': 'front_end', |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/CodeMirrorTextEditor.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| }, |
| { |
| 'target_name': 'concatenated_heap_snapshot_worker_js', |
| 'type': 'none', |
| 'actions': [{ |
| 'action_name': 'concatenate_heap_snapshot_worker_js', |
| 'script_name': 'scripts/inline_js_imports.py', |
| 'input_file': 'front_end/HeapSnapshotWorker.js', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(_input_file)', |
| 'front_end/AllocationProfile.js', |
| 'front_end/HeapSnapshot.js', |
| 'front_end/HeapSnapshotLoader.js', |
| 'front_end/HeapSnapshotWorkerDispatcher.js', |
| 'front_end/JSHeapSnapshot.js', |
| 'front_end/utilities.js', |
| ], |
| 'search_path': 'front_end', |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/HeapSnapshotWorker.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| }, |
| { |
| 'target_name': 'concatenated_script_formatter_worker_js', |
| 'type': 'none', |
| 'actions': [{ |
| 'action_name': 'concatenate_script_formatter_worker_js', |
| 'script_name': 'scripts/inline_js_imports.py', |
| 'input_file': 'front_end/ScriptFormatterWorker.js', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(_input_file)', |
| '<@(devtools_uglify_files)' |
| ], |
| 'search_path': 'front_end', |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/ScriptFormatterWorker.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| }, |
| { |
| 'target_name': 'concatenated_devtools_layers_js', |
| 'type': 'none', |
| 'actions': [{ |
| 'action_name': 'concatenate_devtools_layers_js', |
| 'script_name': 'scripts/inline_js_imports.py', |
| 'input_file': 'front_end/LayersPanel.js', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(devtools_layers_js_files)', |
| ], |
| 'search_path': 'front_end', |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/LayersPanel.js'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| }, |
| { |
| 'target_name': 'concatenated_devtools_css', |
| 'type': 'none', |
| 'dependencies': [ |
| 'devtools_html' |
| ], |
| 'actions': [{ |
| 'action_name': 'concatenate_devtools_css', |
| 'script_name': 'scripts/concatenate_css_files.py', |
| 'input_page': 'front_end/inspector.html', |
| 'inputs': [ |
| '<@(_script_name)', |
| '<@(_input_page)', |
| '<@(devtools_files)', |
| ], |
| 'search_path': [ 'front_end' ], |
| 'outputs': ['<(PRODUCT_DIR)/resources/inspector/inspector.css'], |
| 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'], |
| }], |
| 'copies': [{ |
| 'destination': '<(PRODUCT_DIR)/resources/inspector', |
| 'files': [ |
| '<@(devtools_standalone_files)', |
| ], |
| }], |
| }, |
| ], |
| }], |
| ], # conditions |
| } |