[go: nahoru, domu]

blob: 7ec5e0dffd3e7623daf73d77b5985e9bd39c52cf [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
Tim van der Lippe85f14942020-07-13 14:02:407import("./all_devtools_files.gni")
Tim van der Lippe5822c1a2020-07-13 14:00:518import("./all_devtools_modules.gni")
Paul Lewis6c0b15e2020-07-30 10:09:439import("./devtools_grd_files.gni")
Tim van der Lippe41a98a82020-07-15 12:58:2410import("./devtools_image_files.gni")
Tim van der Lippe334be382020-07-13 14:35:5811import("./devtools_module_entrypoints.gni")
Tim van der Lippec4e2fef2020-09-11 12:00:3212import("./front_end/emulated_devices/optimized/optimized_images.gni")
Tim van der Lippef6650492020-07-16 13:41:1413import("./scripts/build/ninja/vars.gni")
Tim van der Lippedc470c32021-02-03 14:49:4214import("./third_party/blink/public/public_features.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",
Sigurd Schneider91456a62021-02-05 08:15:0429 "front_end/application_test_runner/StorageTestRunner.js",
Tim van der Lipped707b332020-09-14 13:19:5930 "front_end/lighthouse_test_runner/lighthouse_test_runner.js",
Connor Clark2bc3be22020-02-14 22:34:1931 "front_end/lighthouse_test_runner/module.json",
Tim van der Lippeab0853c2020-09-11 13:34:3132 "front_end/axe_core_test_runner/axe_core_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5533 "front_end/axe_core_test_runner/module.json",
34 "front_end/bindings_test_runner/AutomappingTestRunner.js",
35 "front_end/bindings_test_runner/BindingsTestRunner.js",
36 "front_end/bindings_test_runner/IsolatedFilesystemTestRunner.js",
37 "front_end/bindings_test_runner/module.json",
38 "front_end/bindings_test_runner/OverridesTestRunner.js",
39 "front_end/bindings_test_runner/PersistenceTestRunner.js",
Tim van der Lippe5faef2f2020-09-14 12:34:3440 "front_end/console_test_runner/console_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5541 "front_end/console_test_runner/module.json",
Tim van der Lippe822fc742020-09-14 12:37:1242 "front_end/coverage_test_runner/coverage_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5543 "front_end/coverage_test_runner/module.json",
44 "front_end/cpu_profiler_test_runner/module.json",
Tim van der Lippe111373f2020-09-14 12:44:3845 "front_end/cpu_profiler_test_runner/cpu_profiler_test_runner.js",
Tim van der Lippecb4236a2020-09-14 12:51:1546 "front_end/data_grid_test_runner/data_grid_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5547 "front_end/data_grid_test_runner/module.json",
Tim van der Lippe5eaefe02020-09-14 12:53:3848 "front_end/device_mode_test_runner/device_mode_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5549 "front_end/device_mode_test_runner/module.json",
Tim van der Lippe8a8e01b2020-09-14 12:57:3350 "front_end/elements_test_runner/elements_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5551 "front_end/elements_test_runner/EditDOMTestRunner.js",
52 "front_end/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js",
53 "front_end/elements_test_runner/ElementsTestRunner.js",
54 "front_end/elements_test_runner/module.json",
55 "front_end/elements_test_runner/SetOuterHTMLTestRunner.js",
56 "front_end/elements_test_runner/StylesUpdateLinksTestRunner.js",
Tim van der Lippec85a9a72020-09-14 13:03:3257 "front_end/extensions_test_runner/extensions_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5558 "front_end/extensions_test_runner/ExtensionsNetworkTestRunner.js",
59 "front_end/extensions_test_runner/ExtensionsTestRunner.js",
60 "front_end/extensions_test_runner/module.json",
Tim van der Lippecc28e232020-09-14 13:08:0561 "front_end/heap_profiler_test_runner/heap_profiler_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5562 "front_end/heap_profiler_test_runner/module.json",
63 "front_end/integration_test_runner.html",
64 "front_end/integration_test_runner.js",
65 "front_end/integration_test_runner.json",
Tim van der Lippe053b0e62020-09-14 13:15:4966 "front_end/layers_test_runner/layers_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5567 "front_end/layers_test_runner/module.json",
68 "front_end/network_test_runner/module.json",
Tim van der Lippefb964da2020-09-14 13:22:5669 "front_end/network_test_runner/network_test_runner.js",
Tim van der Lippe8e74d692020-09-14 13:27:5770 "front_end/performance_test_runner/performance_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5571 "front_end/performance_test_runner/module.json",
72 "front_end/performance_test_runner/TimelineDataTestRunner.js",
73 "front_end/performance_test_runner/TimelineTestRunner.js",
74 "front_end/sdk_test_runner/module.json",
Tim van der Lippe33b40112020-09-14 13:32:4075 "front_end/sdk_test_runner/sdk_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5576 "front_end/security_test_runner/module.json",
Tim van der Lippea076e252020-09-14 13:36:5377 "front_end/security_test_runner/security_test_runner.js",
Tim van der Lippe85af0182020-09-14 13:45:0778 "front_end/sources_test_runner/sources_test_runner.js",
Tim van der Lippebc42a632019-11-28 14:22:5579 "front_end/sources_test_runner/AutocompleteTestRunner.js",
80 "front_end/sources_test_runner/DebuggerTestRunner.js",
81 "front_end/sources_test_runner/EditorTestRunner.js",
82 "front_end/sources_test_runner/LiveEditTestRunner.js",
83 "front_end/sources_test_runner/module.json",
84 "front_end/sources_test_runner/SearchTestRunner.js",
85 "front_end/sources_test_runner/SourcesTestRunner.js",
86 "front_end/test_runner/module.json",
Tim van der Lippebc42a632019-11-28 14:22:5587]
88
89devtools_embedder_scripts = [
Tim van der Lippe8b179312021-02-05 15:13:5490 "devtools_compatibility.js",
91 "Tests.js",
Tim van der Lippebc42a632019-11-28 14:22:5592]
93
Tim van der Lippe96e05622020-09-15 10:42:0194application_templates = [ "front_end/entrypoint_template.html" ]
Tim van der Lippebc42a632019-11-28 14:22:5595
Tim van der Lippe49155912020-05-12 11:26:4496generated_applications_html = [
Tim van der Lippe8b179312021-02-05 15:13:5497 "devtools_app.html",
98 "inspector.html",
99 "integration_test_runner.html",
100 "js_app.html",
101 "ndb_app.html",
102 "node_app.html",
103 "toolbox.html",
104 "worker_app.html",
Tim van der Lippe49155912020-05-12 11:26:44105]
106
Tim van der Lippe30103ef2021-02-03 13:31:03107applications_js = [
108 "lighthouse_worker.js",
109 "devtools_app.js",
110 "inspector.js",
111 "js_app.js",
112 "node_app.js",
113 "shell.js",
Tim van der Lippe30103ef2021-02-03 13:31:03114 "worker_app.js",
Tim van der Lippebc42a632019-11-28 14:22:55115]
116
Tim van der Lippe30103ef2021-02-03 13:31:03117gen_generated_applications_js = []
118
119foreach(application, applications_js) {
Tim van der Lippe30103ef2021-02-03 13:31:03120 gen_generated_applications_js += [ "$target_gen_dir/front_end/$application" ]
121}
122
123non_autostart_non_remote_modules = [
124 "accessibility/accessibility_module.js",
125 "animation/animation_module.js",
126 "browser_debugger/browser_debugger_module.js",
127 "changes/changes_module.js",
Tim van der Lippe30103ef2021-02-03 13:31:03128 "cm/cm_module.js",
129 "color_picker/color_picker_module.js",
130 "console/console_module.js",
131 "cookie_table/cookie_table_module.js",
132 "coverage/coverage_module.js",
133 "css_overview/css_overview_module.js",
134 "data_grid/data_grid_module.js",
Tim van der Lippe30103ef2021-02-03 13:31:03135 "elements/elements_module.js",
136 "event_listeners/event_listeners_module.js",
Tim van der Lippe30103ef2021-02-03 13:31:03137 "help/help_module.js",
138 "inline_editor/inline_editor_module.js",
139 "input/input_module.js",
Tim van der Lippe30103ef2021-02-03 13:31:03140 "js_profiler/js_profiler_module.js",
141 "layer_viewer/layer_viewer_module.js",
142 "layers/layers_module.js",
143 "lighthouse/lighthouse_module.js",
Tim van der Lippe30103ef2021-02-03 13:31:03144 "media/media_module.js",
145 "network/network_module.js",
146 "node_debugger/node_debugger_module.js",
147 "object_ui/object_ui_module.js",
148 "perf_ui/perf_ui_module.js",
149 "performance_monitor/performance_monitor_module.js",
150 "profiler/profiler_module.js",
151 "issues/issues_module.js",
152 "developer_resources/developer_resources_module.js",
153 "protocol_monitor/protocol_monitor_module.js",
154 "quick_open/quick_open_module.js",
155 "resources/resources_module.js",
156 "search/search_module.js",
157 "security/security_module.js",
158 "settings/settings_module.js",
159 "snippets/snippets_module.js",
160 "source_frame/source_frame_module.js",
161 "sources/sources_module.js",
162 "text_editor/text_editor_module.js",
163 "timeline_model/timeline_model_module.js",
164 "timeline/timeline_module.js",
165 "web_audio/web_audio_module.js",
166 "webauthn/webauthn_module.js",
167 "workspace_diff/workspace_diff_module.js",
168 "emulated_devices/emulated_devices_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55169]
170
Tim van der Lippe30103ef2021-02-03 13:31:03171gen_non_autostart_non_remote_modules = []
172
173foreach(module_file, non_autostart_non_remote_modules) {
Tim van der Lippe30103ef2021-02-03 13:31:03174 gen_non_autostart_non_remote_modules +=
175 [ "$target_gen_dir/front_end/$module_file" ]
176}
177
178test_modules = [
179 "accessibility_test_runner/accessibility_test_runner_module.js",
180 "application_test_runner/application_test_runner_module.js",
181 "lighthouse_test_runner/lighthouse_test_runner_module.js",
182 "axe_core_test_runner/axe_core_test_runner_module.js",
183 "bindings_test_runner/bindings_test_runner_module.js",
184 "console_test_runner/console_test_runner_module.js",
185 "coverage_test_runner/coverage_test_runner_module.js",
186 "cpu_profiler_test_runner/cpu_profiler_test_runner_module.js",
187 "data_grid_test_runner/data_grid_test_runner_module.js",
188 "device_mode_test_runner/device_mode_test_runner_module.js",
189 "elements_test_runner/elements_test_runner_module.js",
190 "extensions_test_runner/extensions_test_runner_module.js",
191 "heap_profiler_test_runner/heap_profiler_test_runner_module.js",
Tim van der Lippe30103ef2021-02-03 13:31:03192 "integration_test_runner.js",
193 "layers_test_runner/layers_test_runner_module.js",
194 "network_test_runner/network_test_runner_module.js",
195 "performance_test_runner/performance_test_runner_module.js",
196 "sdk_test_runner/sdk_test_runner_module.js",
197 "security_test_runner/security_test_runner_module.js",
198 "sources_test_runner/sources_test_runner_module.js",
Tim van der Lippebc42a632019-11-28 14:22:55199]
200
Tim van der Lippe30103ef2021-02-03 13:31:03201gen_test_modules = []
202
203foreach(module_file, test_modules) {
Tim van der Lippe30103ef2021-02-03 13:31:03204 gen_test_modules += [ "$target_gen_dir/front_end/$module_file" ]
205}
206
Tim van der Lippebc42a632019-11-28 14:22:55207devtools_applications = [
Connor Clark2bc3be22020-02-14 22:34:19208 "lighthouse_worker",
Tim van der Lippebc42a632019-11-28 14:22:55209 "devtools_app",
Tim van der Lippebc42a632019-11-28 14:22:55210 "inspector",
211 "integration_test_runner",
212 "js_app",
213 "ndb_app",
214 "node_app",
215 "shell",
Tim van der Lippebc42a632019-11-28 14:22:55216 "worker_app",
217]
218
219#-------------------------------------------------------------------------------
220
Tim van der Lippe501473c2020-05-19 15:01:52221devtools_frontend_resources_deps = [
222 ":build_release_devtools",
Tim van der Lippe501473c2020-05-19 15:01:52223 "front_end",
Tim van der Lippe7ebe48c2020-07-13 12:27:15224 "test",
Tim van der Lippe39fc2542020-02-28 09:38:02225]
Tim van der Lippe3bf1c192020-01-22 11:45:13226
Tim van der Lippe7ebe48c2020-07-13 12:27:15227group("devtools_all_files") {
228 testonly = true
Tim van der Lipped18c7042020-12-03 11:23:20229 data = all_devtools_files
Tim van der Lippe7ebe48c2020-07-13 12:27:15230 data += [
231 # This enables us to test bots with whitespace changes.
232 "scripts/whitespaces.txt",
233 ]
234 data_deps = devtools_frontend_resources_deps
Tim van der Lippe677a98d2021-01-08 15:47:53235
236 public_deps = [ "front_end/component_docs" ]
Tim van der Lippe1a0338a2020-02-21 14:44:49237}
238
Tim van der Lippebc42a632019-11-28 14:22:55239group("devtools_frontend_resources") {
240 public_deps = devtools_frontend_resources_deps
241}
242
Alex Rudenkof0d02a12020-05-28 12:59:04243group("generate_devtools_inspector_overlay_resources") {
Alex Rudenko0e8d7f42020-09-07 07:14:47244 public_deps = [ "inspector_overlay:build_inspector_overlay" ]
Alex Rudenko7bf4d032020-05-13 15:45:02245}
246
Tim van der Lippebc42a632019-11-28 14:22:55247action("generate_devtools_grd") {
248 script = "scripts/build/generate_devtools_grd.py"
249
Paul Lewise73301b2020-01-22 14:35:26250 deps = [ ":devtools_frontend_resources" ]
Blink Reformat4c46d092018-04-07 15:32:37251
Tim van der Lippe8b179312021-02-05 15:13:54252 _grd_files = []
253 _unique_frontend_files =
254 generated_applications_html + applications_js +
255 non_autostart_non_remote_modules + devtools_embedder_scripts +
256 optimized_emulated_device_images + copied_devtools_locale_files +
257 devtools_module_entrypoint_sources
Tim van der Lippebc42a632019-11-28 14:22:55258
Tim van der Lippe8b179312021-02-05 15:13:54259 if (is_debug) {
260 _unique_frontend_files += all_typescript_module_sources
261 }
262
263 foreach(_input_file, _unique_frontend_files) {
Tim van der Lippeda2de6e2021-02-08 15:19:46264 _grd_files += [ "$target_gen_dir/front_end/$_input_file" ]
Tim van der Lippe8b179312021-02-05 15:13:54265 }
266
267 inputs = _grd_files + front_end_image_files
Paul Lewis6c0b15e2020-07-30 10:09:43268
269 # Confirm that the files in the inputs match expectations.
270 # There is some path wrangling necessary here because some paths come with
271 # //out/{Target} at the start, others with front_end
272 _normalized_inputs = []
273 foreach(input, inputs) {
Tim van der Lippeda2de6e2021-02-08 15:19:46274 _normalized_inputs += [ string_replace(input, "$target_gen_dir/", "") ]
Paul Lewis6c0b15e2020-07-30 10:09:43275 }
276
277 # Always assume the release files are included.
278 _expected_files = []
279 _expected_files += grd_files_release_sources
280 if (is_debug) {
281 _expected_files += grd_files_debug_sources
282 }
283
284 # Remove the inputs from the expectations, any leftovers means that not all inputs were provided.
285 _missing_files_expected = filter_exclude(_expected_files, _normalized_inputs)
286 assert(
287 _missing_files_expected == [],
288 "Files were expected that weren't found in the GRD inputs: $_missing_files_expected")
289
290 # Remove the expectations from the inputs, any leftovers means that too many files were provided.
291 _missing_files_normalized =
292 filter_exclude(_normalized_inputs, _expected_files)
293 assert(
294 _missing_files_normalized == [],
295 "Files were provided that weren't expected in the GRD inputs: $_missing_files_normalized")
296
Tim van der Lippe8b179312021-02-05 15:13:54297 response_file_contents = rebase_path(_grd_files, root_build_dir)
Tim van der Lippebc42a632019-11-28 14:22:55298 outfile = "$root_gen_dir/devtools/devtools_resources.grd"
Paul Lewise73301b2020-01-22 14:35:26299 outputs = [ outfile ]
Blink Reformat4c46d092018-04-07 15:32:37300
Tim van der Lippebc42a632019-11-28 14:22:55301 relative_path_dirs = [
Tim van der Lippeda2de6e2021-02-08 15:19:46302 "$target_gen_dir/front_end",
Tim van der Lippebc42a632019-11-28 14:22:55303 "front_end",
Blink Reformat4c46d092018-04-07 15:32:37304 ]
305
Tim van der Lippee2fbfea2020-01-09 13:53:50306 args = [
Rob Paveza41120592020-01-13 17:17:02307 "--file_list",
Tim van der Lippee2fbfea2020-01-09 13:53:50308 "{{response_file_name}}",
309 "--relative_path_dirs",
310 ] + rebase_path(relative_path_dirs, root_build_dir) +
Tim van der Lippebc42a632019-11-28 14:22:55311 [
312 "--images",
313 rebase_path("front_end/Images", root_build_dir),
314 "--output",
315 rebase_path(outfile, root_build_dir),
316 ]
Bruce Dawson42395302021-01-26 08:57:36317 if (!is_debug) {
318 # Compression is slow, particularly in debug builds, so only compress in
319 # non-debug builds.
320 args += [ "--compress" ]
321 }
Tim van der Lippebc42a632019-11-28 14:22:55322}
323
Tim van der Lippe8bdbc7a2020-03-09 10:42:09324build_release_devtools_args = []
325
326if (!is_debug) {
327 build_release_devtools_args += [ "--rollup" ]
328}
329
Dirk Pranke75443e82020-10-01 00:23:38330# TODO(crbug.com/1112471): Get this to work cleanly under Python3.
331python2_action("build_release_devtools") {
Tim van der Lippebc42a632019-11-28 14:22:55332 script = "scripts/build/build_release_applications.py"
Blink Reformat4c46d092018-04-07 15:32:37333
Tim van der Lippebc42a632019-11-28 14:22:55334 helper_scripts = [
335 "scripts/build/modular_build.py",
336 "scripts/build/rjsmin.py",
Tim van der Lippe10095002020-06-15 16:15:33337 "front_end/rollup.config.js",
Tim van der Lippebc42a632019-11-28 14:22:55338 ]
339
Tim van der Lippebdf5ca42020-09-11 12:05:12340 deps = [
341 "front_end",
342 "front_end:legacy_test-resources",
343 ]
Tim van der Lippe8ea04b02020-05-26 09:57:58344
Tim van der Lippe8ec07dd2020-01-23 18:29:34345 inputs = helper_scripts + all_devtools_files + devtools_test_files +
Tim van der Lippe2172fca2020-12-10 09:54:48346 application_templates
Tim van der Lippeee041602021-03-03 14:32:51347 outputs = gen_generated_applications_js +
348 gen_non_autostart_non_remote_modules + gen_test_modules
Tim van der Lippebc42a632019-11-28 14:22:55349
350 args = devtools_applications + [
351 "--input_path",
352 rebase_path("front_end", root_build_dir),
Tim van der Lippe30103ef2021-02-03 13:31:03353 "--output_path_gen",
354 rebase_path("$target_gen_dir/front_end", root_build_dir),
Tim van der Lippe8bdbc7a2020-03-09 10:42:09355 ] + build_release_devtools_args
Tim van der Lippebc42a632019-11-28 14:22:55356}