[go: nahoru, domu]

blob: 968cfbac3fa33417ef272419ad3c488c9b1d5c1d [file] [log] [blame]
Blink Reformat4c46d092018-04-07 15:32:371# Copyright 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
Dirk Pranke75443e82020-10-01 00:23:385import("//build/config/python.gni")
6
Blink Reformat4c46d092018-04-07 15:32:377import("//third_party/blink/public/public_features.gni")
Tim van der Lippe85f14942020-07-13 14:02:408import("./all_devtools_files.gni")
Tim van der Lippe5822c1a2020-07-13 14:00:519import("./all_devtools_modules.gni")
Paul Lewis6c0b15e2020-07-30 10:09:4310import("./devtools_grd_files.gni")
Tim van der Lippe41a98a82020-07-15 12:58:2411import("./devtools_image_files.gni")
Tim van der Lippe334be382020-07-13 14:35:5812import("./devtools_module_entrypoints.gni")
Tim van der Lippec4e2fef2020-09-11 12:00:3213import("./front_end/emulated_devices/optimized/optimized_images.gni")
Tim van der Lippef6650492020-07-16 13:41:1414import("./scripts/build/ninja/vars.gni")
Tim van der Lippebc42a632019-11-28 14:22:5515
16devtools_test_files = [
Tim van der Lippeab0853c2020-09-11 13:34:3117 "front_end/third_party/axe-core/axe.js",
Tim van der Lippebdf5ca42020-09-11 12:05:1218 "front_end/accessibility_test_runner/accessibility_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5519 "front_end/accessibility_test_runner/module.json",
Tim van der Lippe538dd8e2020-09-14 12:16:0420 "front_end/bindings_test_runner/bindings_test_runner.js",
Tim van der Lippe374ec552020-09-11 13:14:2421 "front_end/application_test_runner/application_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5522 "front_end/application_test_runner/AppcacheTestRunner.js",
23 "front_end/application_test_runner/CacheStorageTestRunner.js",
24 "front_end/application_test_runner/IndexedDBTestRunner.js",
25 "front_end/application_test_runner/module.json",
26 "front_end/application_test_runner/ResourcesTestRunner.js",
27 "front_end/application_test_runner/ResourceTreeTestRunner.js",
28 "front_end/application_test_runner/ServiceWorkersTestRunner.js",
Tim van der Lipped707b332020-09-14 13:19:5929 "front_end/lighthouse_test_runner/lighthouse_test_runner.js",
Connor Clark2bc3be22020-02-14 22:34:1930 "front_end/lighthouse_test_runner/module.json",
Tim van der Lippeab0853c2020-09-11 13:34:3131 "front_end/axe_core_test_runner/axe_core_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5532 "front_end/axe_core_test_runner/module.json",
33 "front_end/bindings_test_runner/AutomappingTestRunner.js",
34 "front_end/bindings_test_runner/BindingsTestRunner.js",
35 "front_end/bindings_test_runner/IsolatedFilesystemTestRunner.js",
36 "front_end/bindings_test_runner/module.json",
37 "front_end/bindings_test_runner/OverridesTestRunner.js",
38 "front_end/bindings_test_runner/PersistenceTestRunner.js",
Tim van der Lippe5faef2f2020-09-14 12:34:3439 "front_end/console_test_runner/console_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5540 "front_end/console_test_runner/module.json",
Tim van der Lippe822fc742020-09-14 12:37:1241 "front_end/coverage_test_runner/coverage_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5542 "front_end/coverage_test_runner/module.json",
43 "front_end/cpu_profiler_test_runner/module.json",
Tim van der Lippe111373f2020-09-14 12:44:3844 "front_end/cpu_profiler_test_runner/cpu_profiler_test_runner.js",
Tim van der Lippecb4236a2020-09-14 12:51:1545 "front_end/data_grid_test_runner/data_grid_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5546 "front_end/data_grid_test_runner/module.json",
Tim van der Lippe5eaefe02020-09-14 12:53:3847 "front_end/device_mode_test_runner/device_mode_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5548 "front_end/device_mode_test_runner/module.json",
Tim van der Lippe8a8e01b2020-09-14 12:57:3349 "front_end/elements_test_runner/elements_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5550 "front_end/elements_test_runner/EditDOMTestRunner.js",
51 "front_end/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js",
52 "front_end/elements_test_runner/ElementsTestRunner.js",
53 "front_end/elements_test_runner/module.json",
54 "front_end/elements_test_runner/SetOuterHTMLTestRunner.js",
55 "front_end/elements_test_runner/StylesUpdateLinksTestRunner.js",
Tim van der Lippec85a9a72020-09-14 13:03:3256 "front_end/extensions_test_runner/extensions_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5557 "front_end/extensions_test_runner/ExtensionsNetworkTestRunner.js",
58 "front_end/extensions_test_runner/ExtensionsTestRunner.js",
59 "front_end/extensions_test_runner/module.json",
Tim van der Lippecc28e232020-09-14 13:08:0560 "front_end/heap_profiler_test_runner/heap_profiler_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5561 "front_end/heap_profiler_test_runner/module.json",
62 "front_end/integration_test_runner.html",
63 "front_end/integration_test_runner.js",
64 "front_end/integration_test_runner.json",
Tim van der Lippe053b0e62020-09-14 13:15:4965 "front_end/layers_test_runner/layers_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5566 "front_end/layers_test_runner/module.json",
67 "front_end/network_test_runner/module.json",
Tim van der Lippefb964da2020-09-14 13:22:5668 "front_end/network_test_runner/network_test_runner.js",
Tim van der Lippe8e74d692020-09-14 13:27:5769 "front_end/performance_test_runner/performance_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5570 "front_end/performance_test_runner/module.json",
71 "front_end/performance_test_runner/TimelineDataTestRunner.js",
72 "front_end/performance_test_runner/TimelineTestRunner.js",
73 "front_end/sdk_test_runner/module.json",
Tim van der Lippe33b40112020-09-14 13:32:4074 "front_end/sdk_test_runner/sdk_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5575 "front_end/security_test_runner/module.json",
Tim van der Lippea076e252020-09-14 13:36:5376 "front_end/security_test_runner/security_test_runner.js",
Tim van der Lippe85af0182020-09-14 13:45:0777 "front_end/sources_test_runner/sources_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5578 "front_end/sources_test_runner/AutocompleteTestRunner.js",
79 "front_end/sources_test_runner/DebuggerTestRunner.js",
80 "front_end/sources_test_runner/EditorTestRunner.js",
81 "front_end/sources_test_runner/LiveEditTestRunner.js",
82 "front_end/sources_test_runner/module.json",
83 "front_end/sources_test_runner/SearchTestRunner.js",
84 "front_end/sources_test_runner/SourcesTestRunner.js",
85 "front_end/test_runner/module.json",
Tim van der Lippebc42a632019-11-28 14:22:5586]
87
88devtools_embedder_scripts = [
89 "front_end/devtools_compatibility.js",
90 "front_end/Tests.js",
91]
92
Tim van der Lippe96e05622020-09-15 10:42:0193application_templates = [ "front_end/entrypoint_template.html" ]
Tim van der Lippebc42a632019-11-28 14:22:5594
Tim van der Lippe49155912020-05-12 11:26:4495generated_applications_html = [
Tim van der Lippebc42a632019-11-28 14:22:5596 "$resources_out_dir/devtools_app.html",
Tim van der Lippebc42a632019-11-28 14:22:5597 "$resources_out_dir/inspector.html",
Tim van der Lippe49155912020-05-12 11:26:4498 "$resources_out_dir/integration_test_runner.html",
Tim van der Lippebc42a632019-11-28 14:22:5599 "$resources_out_dir/js_app.html",
Tim van der Lippe49155912020-05-12 11:26:44100 "$resources_out_dir/ndb_app.html",
Tim van der Lippebc42a632019-11-28 14:22:55101 "$resources_out_dir/node_app.html",
Tim van der Lippe49155912020-05-12 11:26:44102 "$resources_out_dir/toolbox.html",
103 "$resources_out_dir/worker_app.html",
104]
105
106generated_applications_js = [
107 "$resources_out_dir/lighthouse_worker.js",
108 "$resources_out_dir/devtools_app.js",
109 "$resources_out_dir/inspector.js",
110 "$resources_out_dir/js_app.js",
Tim van der Lippebc42a632019-11-28 14:22:55111 "$resources_out_dir/node_app.js",
112 "$resources_out_dir/shell.js",
Tim van der Lippebc42a632019-11-28 14:22:55113 "$resources_out_dir/toolbox.js",
Tim van der Lippebc42a632019-11-28 14:22:55114 "$resources_out_dir/worker_app.js",
115]
116
117generated_non_autostart_non_remote_modules = [
Tim van der Lippe387b03e2019-12-17 16:09:22118 "$resources_out_dir/accessibility/accessibility_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55119 "$resources_out_dir/animation/animation_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55120 "$resources_out_dir/browser_debugger/browser_debugger_module.js",
121 "$resources_out_dir/changes/changes_module.js",
Mathias Bynens4a0d1932020-07-28 06:31:37122 "$resources_out_dir/client_variations/client_variations_module.js",
Mathias Bynens2d8a20d2019-12-20 08:04:09123 "$resources_out_dir/cm/cm_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55124 "$resources_out_dir/color_picker/color_picker_module.js",
125 "$resources_out_dir/console/console_module.js",
126 "$resources_out_dir/cookie_table/cookie_table_module.js",
127 "$resources_out_dir/coverage/coverage_module.js",
Mathias Bynens2d8a20d2019-12-20 08:04:09128 "$resources_out_dir/css_overview/css_overview_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55129 "$resources_out_dir/data_grid/data_grid_module.js",
130 "$resources_out_dir/devices/devices_module.js",
131 "$resources_out_dir/diff/diff_module.js",
132 "$resources_out_dir/elements/elements_module.js",
133 "$resources_out_dir/event_listeners/event_listeners_module.js",
134 "$resources_out_dir/formatter/formatter_module.js",
135 "$resources_out_dir/har_importer/har_importer_module.js",
136 "$resources_out_dir/heap_snapshot_model/heap_snapshot_model_module.js",
137 "$resources_out_dir/help/help_module.js",
138 "$resources_out_dir/inline_editor/inline_editor_module.js",
Mathias Bynens2d8a20d2019-12-20 08:04:09139 "$resources_out_dir/input/input_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55140 "$resources_out_dir/javascript_metadata/javascript_metadata_module.js",
141 "$resources_out_dir/js_profiler/js_profiler_module.js",
142 "$resources_out_dir/layer_viewer/layer_viewer_module.js",
143 "$resources_out_dir/layers/layers_module.js",
Mathias Bynens4a0d1932020-07-28 06:31:37144 "$resources_out_dir/lighthouse/lighthouse_module.js",
Kim-Anh Tranba5e4812020-10-20 08:25:27145 "$resources_out_dir/linear_memory_inspector/linear_memory_inspector_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55146 "$resources_out_dir/media/media_module.js",
147 "$resources_out_dir/network/network_module.js",
148 "$resources_out_dir/node_debugger/node_debugger_module.js",
149 "$resources_out_dir/object_ui/object_ui_module.js",
150 "$resources_out_dir/perf_ui/perf_ui_module.js",
151 "$resources_out_dir/performance_monitor/performance_monitor_module.js",
152 "$resources_out_dir/profiler/profiler_module.js",
Jan Scheffler01005812020-02-05 12:41:00153 "$resources_out_dir/issues/issues_module.js",
Sigurd Schneider91907802020-07-08 08:53:59154 "$resources_out_dir/developer_resources/developer_resources_module.js",
Mathias Bynens2d8a20d2019-12-20 08:04:09155 "$resources_out_dir/protocol_monitor/protocol_monitor_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55156 "$resources_out_dir/quick_open/quick_open_module.js",
157 "$resources_out_dir/resources/resources_module.js",
158 "$resources_out_dir/search/search_module.js",
159 "$resources_out_dir/security/security_module.js",
160 "$resources_out_dir/settings/settings_module.js",
161 "$resources_out_dir/snippets/snippets_module.js",
162 "$resources_out_dir/source_frame/source_frame_module.js",
163 "$resources_out_dir/sources/sources_module.js",
164 "$resources_out_dir/text_editor/text_editor_module.js",
165 "$resources_out_dir/timeline_model/timeline_model_module.js",
166 "$resources_out_dir/timeline/timeline_module.js",
167 "$resources_out_dir/web_audio/web_audio_module.js",
Fawaz Mohammad81995832020-06-09 18:28:23168 "$resources_out_dir/webauthn/webauthn_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55169 "$resources_out_dir/workspace_diff/workspace_diff_module.js",
Tim van der Lippec4e2fef2020-09-11 12:00:32170 "$resources_out_dir/emulated_devices/emulated_devices_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55171]
172
Tim van der Lippebc42a632019-11-28 14:22:55173generated_test_modules = [
174 "$resources_out_dir/accessibility_test_runner/accessibility_test_runner_module.js",
175 "$resources_out_dir/application_test_runner/application_test_runner_module.js",
Connor Clark2bc3be22020-02-14 22:34:19176 "$resources_out_dir/lighthouse_test_runner/lighthouse_test_runner_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55177 "$resources_out_dir/axe_core_test_runner/axe_core_test_runner_module.js",
178 "$resources_out_dir/bindings_test_runner/bindings_test_runner_module.js",
179 "$resources_out_dir/console_test_runner/console_test_runner_module.js",
180 "$resources_out_dir/coverage_test_runner/coverage_test_runner_module.js",
181 "$resources_out_dir/cpu_profiler_test_runner/cpu_profiler_test_runner_module.js",
182 "$resources_out_dir/data_grid_test_runner/data_grid_test_runner_module.js",
183 "$resources_out_dir/device_mode_test_runner/device_mode_test_runner_module.js",
184 "$resources_out_dir/elements_test_runner/elements_test_runner_module.js",
185 "$resources_out_dir/extensions_test_runner/extensions_test_runner_module.js",
186 "$resources_out_dir/heap_profiler_test_runner/heap_profiler_test_runner_module.js",
187 "$resources_out_dir/heap_snapshot_worker/heap_snapshot_worker_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55188 "$resources_out_dir/integration_test_runner.js",
189 "$resources_out_dir/layers_test_runner/layers_test_runner_module.js",
190 "$resources_out_dir/network_test_runner/network_test_runner_module.js",
191 "$resources_out_dir/performance_test_runner/performance_test_runner_module.js",
192 "$resources_out_dir/sdk_test_runner/sdk_test_runner_module.js",
193 "$resources_out_dir/security_test_runner/security_test_runner_module.js",
194 "$resources_out_dir/sources_test_runner/sources_test_runner_module.js",
195]
196
Tim van der Lippebc42a632019-11-28 14:22:55197devtools_applications = [
Connor Clark2bc3be22020-02-14 22:34:19198 "lighthouse_worker",
Tim van der Lippebc42a632019-11-28 14:22:55199 "devtools_app",
Tim van der Lippebc42a632019-11-28 14:22:55200 "inspector",
201 "integration_test_runner",
202 "js_app",
203 "ndb_app",
204 "node_app",
205 "shell",
206 "toolbox",
207 "worker_app",
208]
209
210#-------------------------------------------------------------------------------
211
Tim van der Lippe501473c2020-05-19 15:01:52212devtools_frontend_resources_deps = [
213 ":build_release_devtools",
Tim van der Lippe501473c2020-05-19 15:01:52214 "front_end",
Tim van der Lippe7ebe48c2020-07-13 12:27:15215 "test",
Tim van der Lippe39fc2542020-02-28 09:38:02216]
Tim van der Lippe3bf1c192020-01-22 11:45:13217
Tim van der Lippe7ebe48c2020-07-13 12:27:15218group("devtools_all_files") {
219 testonly = true
Tim van der Lipped18c7042020-12-03 11:23:20220 data = all_devtools_files
Tim van der Lippe7ebe48c2020-07-13 12:27:15221 data += [
222 # This enables us to test bots with whitespace changes.
223 "scripts/whitespaces.txt",
224 ]
225 data_deps = devtools_frontend_resources_deps
Tim van der Lippe1a0338a2020-02-21 14:44:49226}
227
Tim van der Lippebc42a632019-11-28 14:22:55228group("devtools_frontend_resources") {
229 public_deps = devtools_frontend_resources_deps
230}
231
Alex Rudenkof0d02a12020-05-28 12:59:04232group("generate_devtools_inspector_overlay_resources") {
Alex Rudenko0e8d7f42020-09-07 07:14:47233 public_deps = [ "inspector_overlay:build_inspector_overlay" ]
Alex Rudenko7bf4d032020-05-13 15:45:02234}
235
Tim van der Lippebc42a632019-11-28 14:22:55236action("generate_devtools_grd") {
237 script = "scripts/build/generate_devtools_grd.py"
238
Paul Lewise73301b2020-01-22 14:35:26239 deps = [ ":devtools_frontend_resources" ]
Blink Reformat4c46d092018-04-07 15:32:37240
Tim van der Lippebc42a632019-11-28 14:22:55241 grd_files =
Tim van der Lippe49155912020-05-12 11:26:44242 generated_applications_html + generated_applications_js +
243 generated_non_autostart_non_remote_modules + devtools_embedder_scripts +
Tim van der Lippe2172fca2020-12-10 09:54:48244 generated_module_entrypoint_sources + generated_typescript_modules +
245 generated_devtools_locale_files + generated_emulated_device_images +
Tim van der Lippe7f0bf8a2020-11-26 16:21:40246 [ "$resources_out_dir/third_party/acorn/package/dist/acorn.mjs" ]
Tim van der Lippebc42a632019-11-28 14:22:55247
Tim van der Lippe41a98a82020-07-15 12:58:24248 inputs = grd_files + front_end_image_files
Paul Lewis6c0b15e2020-07-30 10:09:43249
250 # Confirm that the files in the inputs match expectations.
251 # There is some path wrangling necessary here because some paths come with
252 # //out/{Target} at the start, others with front_end
253 _normalized_inputs = []
254 foreach(input, inputs) {
255 _normalized_inputs +=
256 [ string_replace(input, resources_out_dir, "front_end") ]
257 }
258
259 # Always assume the release files are included.
260 _expected_files = []
261 _expected_files += grd_files_release_sources
262 if (is_debug) {
263 _expected_files += grd_files_debug_sources
264 }
265
266 # Remove the inputs from the expectations, any leftovers means that not all inputs were provided.
267 _missing_files_expected = filter_exclude(_expected_files, _normalized_inputs)
268 assert(
269 _missing_files_expected == [],
270 "Files were expected that weren't found in the GRD inputs: $_missing_files_expected")
271
272 # Remove the expectations from the inputs, any leftovers means that too many files were provided.
273 _missing_files_normalized =
274 filter_exclude(_normalized_inputs, _expected_files)
275 assert(
276 _missing_files_normalized == [],
277 "Files were provided that weren't expected in the GRD inputs: $_missing_files_normalized")
278
Rob Paveza49473552020-01-08 21:38:58279 response_file_contents = rebase_path(grd_files, root_build_dir)
Tim van der Lippebc42a632019-11-28 14:22:55280 outfile = "$root_gen_dir/devtools/devtools_resources.grd"
Paul Lewise73301b2020-01-22 14:35:26281 outputs = [ outfile ]
Blink Reformat4c46d092018-04-07 15:32:37282
Tim van der Lippebc42a632019-11-28 14:22:55283 relative_path_dirs = [
284 resources_out_dir,
285 "front_end",
Blink Reformat4c46d092018-04-07 15:32:37286 ]
287
Tim van der Lippee2fbfea2020-01-09 13:53:50288 args = [
Rob Paveza41120592020-01-13 17:17:02289 "--file_list",
Tim van der Lippee2fbfea2020-01-09 13:53:50290 "{{response_file_name}}",
291 "--relative_path_dirs",
292 ] + rebase_path(relative_path_dirs, root_build_dir) +
Tim van der Lippebc42a632019-11-28 14:22:55293 [
294 "--images",
295 rebase_path("front_end/Images", root_build_dir),
296 "--output",
297 rebase_path(outfile, root_build_dir),
298 ]
299}
300
Tim van der Lippe8bdbc7a2020-03-09 10:42:09301build_release_devtools_args = []
302
303if (!is_debug) {
304 build_release_devtools_args += [ "--rollup" ]
305}
306
Dirk Pranke75443e82020-10-01 00:23:38307# TODO(crbug.com/1112471): Get this to work cleanly under Python3.
308python2_action("build_release_devtools") {
Tim van der Lippebc42a632019-11-28 14:22:55309 script = "scripts/build/build_release_applications.py"
Blink Reformat4c46d092018-04-07 15:32:37310
Tim van der Lippebc42a632019-11-28 14:22:55311 helper_scripts = [
312 "scripts/build/modular_build.py",
313 "scripts/build/rjsmin.py",
Tim van der Lippe10095002020-06-15 16:15:33314 "front_end/rollup.config.js",
Tim van der Lippebc42a632019-11-28 14:22:55315 ]
316
Tim van der Lippebdf5ca42020-09-11 12:05:12317 deps = [
318 "front_end",
319 "front_end:legacy_test-resources",
320 ]
Tim van der Lippe8ea04b02020-05-26 09:57:58321
Tim van der Lippe8ec07dd2020-01-23 18:29:34322 inputs = helper_scripts + all_devtools_files + devtools_test_files +
Tim van der Lippe2172fca2020-12-10 09:54:48323 application_templates
324 outputs = generated_applications_js +
325 generated_non_autostart_non_remote_modules + generated_test_modules
Tim van der Lippebc42a632019-11-28 14:22:55326
327 args = devtools_applications + [
328 "--input_path",
329 rebase_path("front_end", root_build_dir),
330 "--output_path",
331 rebase_path(resources_out_dir, root_build_dir),
Tim van der Lippe8bdbc7a2020-03-09 10:42:09332 ] + build_release_devtools_args
Tim van der Lippebc42a632019-11-28 14:22:55333}