blob: cc45e4bb9f942912a816a0075e28ac1e93b12e9d [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")
Alex Rudenko8505e322021-05-25 06:01:178import("./scripts/build/ninja/node.gni")
Tim van der Lippef6650492020-07-16 13:41:149import("./scripts/build/ninja/vars.gni")
Tim van der Lippedc470c32021-02-03 14:49:4210import("./third_party/blink/public/public_features.gni")
Tim van der Lippebc42a632019-11-28 14:22:5511
Tim van der Lippebc42a632019-11-28 14:22:5512#-------------------------------------------------------------------------------
13
Tim van der Lippe501473c2020-05-19 15:01:5214devtools_frontend_resources_deps = [
Tim van der Lippe501473c2020-05-19 15:01:5215 "front_end",
Tim van der Lippe7ebe48c2020-07-13 12:27:1516 "test",
Tim van der Lippe39fc2542020-02-28 09:38:0217]
Tim van der Lippe3bf1c192020-01-22 11:45:1318
Tim van der Lippe7ebe48c2020-07-13 12:27:1519group("devtools_all_files") {
20 testonly = true
Tim van der Lippe8fb415e2021-12-16 10:56:1421 data = [
Tim van der Lippe7ebe48c2020-07-13 12:27:1522 # This enables us to test bots with whitespace changes.
23 "scripts/whitespaces.txt",
24 ]
25 data_deps = devtools_frontend_resources_deps
Tim van der Lippe677a98d2021-01-08 15:47:5326
Tim van der Lippee622f552021-04-14 14:15:1827 public_deps = [ "front_end/ui/components/docs" ]
Tim van der Lippe1a0338a2020-02-21 14:44:4928}
29
Tim van der Lippebc42a632019-11-28 14:22:5530group("devtools_frontend_resources") {
31 public_deps = devtools_frontend_resources_deps
Tim van der Lippedcc95c92022-01-17 12:14:0632 deps = [
33 ":assert_grd",
34 ":assert_third_party_readmes",
35 ]
Tim van der Lippebc42a632019-11-28 14:22:5536}
37
Alex Rudenkof0d02a12020-05-28 12:59:0438group("generate_devtools_inspector_overlay_resources") {
Alex Rudenko0e8d7f42020-09-07 07:14:4739 public_deps = [ "inspector_overlay:build_inspector_overlay" ]
Alex Rudenko7bf4d032020-05-13 15:45:0240}
41
Tim van der Lippe0d8ffe32021-04-22 11:10:2442action("assert_grd") {
43 script = "scripts/build/assert_grd.py"
44
45 deps = [
46 ":expected_grd_files",
47 ":input_grd_files",
48 ]
49
50 inputs = [
51 "$target_gen_dir/expected_grd_files.json",
52 "$target_gen_dir/input_grd_files.json",
53 ]
54
55 args = [
56 rebase_path("$target_gen_dir/expected_grd_files.json", root_build_dir),
57 rebase_path("$target_gen_dir/input_grd_files.json", root_build_dir),
58 rebase_path("$target_gen_dir/assert_grd.stamp", root_build_dir),
59 ]
60
61 outputs = [ "$target_gen_dir/assert_grd.stamp" ]
62}
63
Tim van der Lippedcc95c92022-01-17 12:14:0664action("assert_third_party_readmes") {
65 script = "scripts/build/assert_third_party_readmes.py"
66
67 deps = [ ":expected_grd_files" ]
68
69 inputs = [
70 "$target_gen_dir/expected_grd_files.json",
71 "front_end/third_party/additional_readme_paths.json",
72 ]
73
74 args = [
75 rebase_path("$target_gen_dir/expected_grd_files.json", root_build_dir),
76 rebase_path("front_end/third_party/additional_readme_paths.json",
77 root_build_dir),
78 rebase_path("$target_gen_dir/assert_third_party_readmes.stamp",
79 root_build_dir),
80 ]
81
82 outputs = [ "$target_gen_dir/assert_third_party_readmes.stamp" ]
83}
84
Tim van der Lippe3edd9d72021-04-22 11:12:5785_expected_grd_files = []
86_expected_grd_files += grd_files_release_sources
87if (is_debug) {
88 _expected_grd_files += grd_files_debug_sources
89}
90
Tim van der Lippe0d8ffe32021-04-22 11:10:2491generated_file("expected_grd_files") {
92 outputs = [ "$target_gen_dir/expected_grd_files.json" ]
93
Tim van der Lippe3edd9d72021-04-22 11:12:5794 contents = _expected_grd_files
Tim van der Lippe0d8ffe32021-04-22 11:10:2495
96 output_conversion = "json"
97}
98
99generated_file("input_grd_files") {
100 outputs = [ "$target_gen_dir/input_grd_files.json" ]
101
102 data_keys = [ "grd_files" ]
103
104 output_conversion = "json"
Tim van der Lippef48d7382021-04-22 13:12:30105 rebase = target_gen_dir
Tim van der Lippe0d8ffe32021-04-22 11:10:24106
Tim van der Lippefd742ce2021-12-01 16:28:23107 deps = [ "front_end" ]
Tim van der Lippe0d8ffe32021-04-22 11:10:24108}
109
Alex Rudenko8505e322021-05-25 06:01:17110_compressable_grd_files = filter_include(_expected_grd_files,
111 [
112 "*.css",
113 "*.html",
114 "*.js",
115 "*.svg",
116 "*.json",
Alex Rudenko7c94b5f2021-05-25 12:27:51117 "*.md",
Alex Rudenko8505e322021-05-25 06:01:17118 ])
119
120if (!is_debug) {
121 node_action("compress") {
122 script = "scripts/build/compress_files.js"
123 public_deps = [ ":devtools_frontend_resources" ]
124
125 sources = []
126 foreach(_grd_file, _compressable_grd_files) {
127 sources += [ "$target_gen_dir/$_grd_file" ]
128 }
129
130 response_file_contents = rebase_path(sources, root_build_dir)
131
132 outputs = []
133 foreach(_grd_file, _compressable_grd_files) {
134 outputs += [
135 "$target_gen_dir/$_grd_file.compressed",
136 "$target_gen_dir/$_grd_file.hash",
137 ]
138 }
139
140 args = [
141 "--file_list",
142 "{{response_file_name}}",
143 ]
144 }
145} else {
146 not_needed([ "_compressable_grd_files" ])
147}
148
Tim van der Lippebc42a632019-11-28 14:22:55149action("generate_devtools_grd") {
150 script = "scripts/build/generate_devtools_grd.py"
151
Tim van der Lippe0fa20642021-04-23 15:26:04152 response_file_contents = rebase_path(_expected_grd_files, "front_end")
Tim van der Lippeb4ab8da2021-04-23 09:23:34153 outfile = "$target_gen_dir/front_end/devtools_resources.grd"
Tim van der Lippeada1b592021-04-23 15:20:49154 outputs = [ outfile ]
Blink Reformat4c46d092018-04-07 15:32:37155
Tim van der Lippee2fbfea2020-01-09 13:53:50156 args = [
Tim van der Lippe0fa20642021-04-23 15:26:04157 "--file_list",
158 "{{response_file_name}}",
159 "--output",
160 rebase_path(outfile, root_build_dir),
161 ]
Alex Rudenko8505e322021-05-25 06:01:17162
163 inputs = []
164
165 if (is_debug) {
166 deps = [ ":devtools_frontend_resources" ]
167 foreach(_grd_file, _expected_grd_files) {
168 inputs += [ "$target_gen_dir/$_grd_file" ]
169 }
170 } else {
171 deps = [ ":compress" ]
172 foreach(_grd_file, _expected_grd_files) {
173 inputs += [ "$target_gen_dir/$_grd_file" ]
174 }
175 foreach(_grd_file, _compressable_grd_files) {
176 inputs += [ "$target_gen_dir/$_grd_file.compressed" ]
177 }
178
Bruce Dawson42395302021-01-26 08:57:36179 # Compression is slow, particularly in debug builds, so only compress in
180 # non-debug builds.
181 args += [ "--compress" ]
182 }
Tim van der Lippebc42a632019-11-28 14:22:55183}