blob: f1458f649a7782ede489a7a233f3461bef7e71e4 [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
Tim van der Lippe732be582021-04-09 15:58:555import("./config/gni/devtools_grd_files.gni")
6import("./config/gni/devtools_image_files.gni")
Tim van der Lippec4e2fef2020-09-11 12:00:327import("./front_end/emulated_devices/optimized/optimized_images.gni")
Benedikt Meurere4802892024-08-07 09:29:598import("./scripts/build/ninja/copy.gni")
Alex Rudenko8505e322021-05-25 06:01:179import("./scripts/build/ninja/node.gni")
Tim van der Lippef6650492020-07-16 13:41:1410import("./scripts/build/ninja/vars.gni")
Simon Zünde20bdac2024-08-27 07:35:5311import("./scripts/build/typescript/typescript.gni")
Tim van der Lippedc470c32021-02-03 14:49:4212import("./third_party/blink/public/public_features.gni")
Tim van der Lippebc42a632019-11-28 14:22:5513
Tim van der Lippebc42a632019-11-28 14:22:5514#-------------------------------------------------------------------------------
15
Tim van der Lippe501473c2020-05-19 15:01:5216devtools_frontend_resources_deps = [
Benedikt Meurere4802892024-08-07 09:29:5917 ":favicon",
Tim van der Lippe501473c2020-05-19 15:01:5218 "front_end",
Tim van der Lippe39fc2542020-02-28 09:38:0219]
Tim van der Lippe3bf1c192020-01-22 11:45:1320
Tim van der Lippe7ebe48c2020-07-13 12:27:1521group("devtools_all_files") {
22 testonly = true
Tim van der Lippe8fb415e2021-12-16 10:56:1423 data = [
Tim van der Lippe7ebe48c2020-07-13 12:27:1524 # This enables us to test bots with whitespace changes.
25 "scripts/whitespaces.txt",
26 ]
Simon Zünd2a64eb32025-04-14 10:28:2727
28 data_deps = devtools_frontend_resources_deps + [
29 "front_end:web_test_resources",
30 "test",
31 ]
Simon Zünd76883762025-04-14 11:04:5932 deps = [ ":frontend_indexer_tsconfig" ]
Tim van der Lippee622f552021-04-14 14:15:1833 public_deps = [ "front_end/ui/components/docs" ]
Tim van der Lippe1a0338a2020-02-21 14:44:4934}
35
Tim van der Lippebc42a632019-11-28 14:22:5536group("devtools_frontend_resources") {
37 public_deps = devtools_frontend_resources_deps
Tim van der Lippedcc95c92022-01-17 12:14:0638 deps = [
39 ":assert_grd",
40 ":assert_third_party_readmes",
Tim van der Lippedcc95c92022-01-17 12:14:0641 ]
Tim van der Lippebc42a632019-11-28 14:22:5542}
43
Alex Rudenkof0d02a12020-05-28 12:59:0444group("generate_devtools_inspector_overlay_resources") {
Alex Rudenko0e8d7f42020-09-07 07:14:4745 public_deps = [ "inspector_overlay:build_inspector_overlay" ]
Alex Rudenko7bf4d032020-05-13 15:45:0246}
47
Tim van der Lippe0d8ffe32021-04-22 11:10:2448action("assert_grd") {
49 script = "scripts/build/assert_grd.py"
50
51 deps = [
52 ":expected_grd_files",
53 ":input_grd_files",
54 ]
55
56 inputs = [
57 "$target_gen_dir/expected_grd_files.json",
58 "$target_gen_dir/input_grd_files.json",
59 ]
60
61 args = [
62 rebase_path("$target_gen_dir/expected_grd_files.json", root_build_dir),
63 rebase_path("$target_gen_dir/input_grd_files.json", root_build_dir),
64 rebase_path("$target_gen_dir/assert_grd.stamp", root_build_dir),
65 ]
66
67 outputs = [ "$target_gen_dir/assert_grd.stamp" ]
68}
69
Tim van der Lippedcc95c92022-01-17 12:14:0670action("assert_third_party_readmes") {
71 script = "scripts/build/assert_third_party_readmes.py"
72
73 deps = [ ":expected_grd_files" ]
74
75 inputs = [
76 "$target_gen_dir/expected_grd_files.json",
77 "front_end/third_party/additional_readme_paths.json",
78 ]
79
80 args = [
81 rebase_path("$target_gen_dir/expected_grd_files.json", root_build_dir),
82 rebase_path("front_end/third_party/additional_readme_paths.json",
83 root_build_dir),
84 rebase_path("$target_gen_dir/assert_third_party_readmes.stamp",
85 root_build_dir),
86 ]
87
88 outputs = [ "$target_gen_dir/assert_third_party_readmes.stamp" ]
89}
90
Tim van der Lippe3edd9d72021-04-22 11:12:5791_expected_grd_files = []
Simon Zünd5eca8572025-06-27 05:19:0592_expected_grd_files += grd_files_bundled_sources
Simon Zünd197cef92025-06-26 09:49:3993if (!devtools_bundle) {
Simon Zünd5eca8572025-06-27 05:19:0594 _expected_grd_files += grd_files_unbundled_sources
Tim van der Lippe3edd9d72021-04-22 11:12:5795}
96
Tim van der Lippe0d8ffe32021-04-22 11:10:2497generated_file("expected_grd_files") {
98 outputs = [ "$target_gen_dir/expected_grd_files.json" ]
99
Tim van der Lippe3edd9d72021-04-22 11:12:57100 contents = _expected_grd_files
Tim van der Lippe0d8ffe32021-04-22 11:10:24101
102 output_conversion = "json"
103}
104
105generated_file("input_grd_files") {
106 outputs = [ "$target_gen_dir/input_grd_files.json" ]
107
108 data_keys = [ "grd_files" ]
109
110 output_conversion = "json"
Tim van der Lippef48d7382021-04-22 13:12:30111 rebase = target_gen_dir
Tim van der Lippe0d8ffe32021-04-22 11:10:24112
Tim van der Lippefd742ce2021-12-01 16:28:23113 deps = [ "front_end" ]
Tim van der Lippe0d8ffe32021-04-22 11:10:24114}
115
Alex Rudenko8505e322021-05-25 06:01:17116_compressable_grd_files = filter_include(_expected_grd_files,
117 [
118 "*.css",
119 "*.html",
120 "*.js",
121 "*.svg",
122 "*.json",
Alex Rudenko7c94b5f2021-05-25 12:27:51123 "*.md",
Alex Rudenko8505e322021-05-25 06:01:17124 ])
125
126if (!is_debug) {
127 node_action("compress") {
128 script = "scripts/build/compress_files.js"
129 public_deps = [ ":devtools_frontend_resources" ]
130
131 sources = []
132 foreach(_grd_file, _compressable_grd_files) {
133 sources += [ "$target_gen_dir/$_grd_file" ]
134 }
135
136 response_file_contents = rebase_path(sources, root_build_dir)
137
138 outputs = []
139 foreach(_grd_file, _compressable_grd_files) {
140 outputs += [
141 "$target_gen_dir/$_grd_file.compressed",
142 "$target_gen_dir/$_grd_file.hash",
143 ]
144 }
145
146 args = [
147 "--file_list",
148 "{{response_file_name}}",
149 ]
150 }
151} else {
152 not_needed([ "_compressable_grd_files" ])
153}
154
Tim van der Lippebc42a632019-11-28 14:22:55155action("generate_devtools_grd") {
156 script = "scripts/build/generate_devtools_grd.py"
157
Tim van der Lippe0fa20642021-04-23 15:26:04158 response_file_contents = rebase_path(_expected_grd_files, "front_end")
Tim van der Lippeb4ab8da2021-04-23 09:23:34159 outfile = "$target_gen_dir/front_end/devtools_resources.grd"
Tim van der Lippeada1b592021-04-23 15:20:49160 outputs = [ outfile ]
Blink Reformat4c46d092018-04-07 15:32:37161
Tim van der Lippee2fbfea2020-01-09 13:53:50162 args = [
Tim van der Lippe0fa20642021-04-23 15:26:04163 "--file_list",
164 "{{response_file_name}}",
165 "--output",
166 rebase_path(outfile, root_build_dir),
167 ]
Alex Rudenko8505e322021-05-25 06:01:17168
169 inputs = []
170
171 if (is_debug) {
172 deps = [ ":devtools_frontend_resources" ]
173 foreach(_grd_file, _expected_grd_files) {
174 inputs += [ "$target_gen_dir/$_grd_file" ]
175 }
176 } else {
177 deps = [ ":compress" ]
178 foreach(_grd_file, _expected_grd_files) {
179 inputs += [ "$target_gen_dir/$_grd_file" ]
180 }
181 foreach(_grd_file, _compressable_grd_files) {
182 inputs += [ "$target_gen_dir/$_grd_file.compressed" ]
183 }
184
Bruce Dawson42395302021-01-26 08:57:36185 # Compression is slow, particularly in debug builds, so only compress in
186 # non-debug builds.
187 args += [ "--compress" ]
188 }
Tim van der Lippebc42a632019-11-28 14:22:55189}
Philip Pfaffede75afa2024-02-29 17:36:38190
191generated_file("indexer_ts_files") {
192 outputs = [ "$root_build_dir/indexer_ts_files.txt" ]
193 data_keys = [ "typescript_files" ]
194
195 deps = [
196 "front_end",
197 "front_end:unittests",
198 ]
199}
200
201ts_library("frontend_indexer_tsconfig") {
202 tsconfigonly = true
203 sourceslist = "$root_build_dir/indexer_ts_files.txt"
204 public_deps = [ ":indexer_ts_files" ]
205}
Benedikt Meurere4802892024-08-07 09:29:59206
207copy_to_gen("favicon") {
208 sources = [ "favicon.ico" ]
209}