blob: 6630165449ad53b62d62c4aab05aa51d10a0e823 [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
Kim-Anh Trane8864742021-04-23 09:18:5332 deps = [ ":assert_grd" ]
Tim van der Lippebc42a632019-11-28 14:22:5533}
34
Alex Rudenkof0d02a12020-05-28 12:59:0435group("generate_devtools_inspector_overlay_resources") {
Alex Rudenko0e8d7f42020-09-07 07:14:4736 public_deps = [ "inspector_overlay:build_inspector_overlay" ]
Alex Rudenko7bf4d032020-05-13 15:45:0237}
38
Tim van der Lippe0d8ffe32021-04-22 11:10:2439action("assert_grd") {
40 script = "scripts/build/assert_grd.py"
41
42 deps = [
43 ":expected_grd_files",
44 ":input_grd_files",
45 ]
46
47 inputs = [
48 "$target_gen_dir/expected_grd_files.json",
49 "$target_gen_dir/input_grd_files.json",
50 ]
51
52 args = [
53 rebase_path("$target_gen_dir/expected_grd_files.json", root_build_dir),
54 rebase_path("$target_gen_dir/input_grd_files.json", root_build_dir),
55 rebase_path("$target_gen_dir/assert_grd.stamp", root_build_dir),
56 ]
57
58 outputs = [ "$target_gen_dir/assert_grd.stamp" ]
59}
60
Tim van der Lippe3edd9d72021-04-22 11:12:5761_expected_grd_files = []
62_expected_grd_files += grd_files_release_sources
63if (is_debug) {
64 _expected_grd_files += grd_files_debug_sources
65}
66
Tim van der Lippe0d8ffe32021-04-22 11:10:2467generated_file("expected_grd_files") {
68 outputs = [ "$target_gen_dir/expected_grd_files.json" ]
69
Tim van der Lippe3edd9d72021-04-22 11:12:5770 contents = _expected_grd_files
Tim van der Lippe0d8ffe32021-04-22 11:10:2471
72 output_conversion = "json"
73}
74
75generated_file("input_grd_files") {
76 outputs = [ "$target_gen_dir/input_grd_files.json" ]
77
78 data_keys = [ "grd_files" ]
79
80 output_conversion = "json"
Tim van der Lippef48d7382021-04-22 13:12:3081 rebase = target_gen_dir
Tim van der Lippe0d8ffe32021-04-22 11:10:2482
Tim van der Lippefd742ce2021-12-01 16:28:2383 deps = [ "front_end" ]
Tim van der Lippe0d8ffe32021-04-22 11:10:2484}
85
Alex Rudenko8505e322021-05-25 06:01:1786_compressable_grd_files = filter_include(_expected_grd_files,
87 [
88 "*.css",
89 "*.html",
90 "*.js",
91 "*.svg",
92 "*.json",
Alex Rudenko7c94b5f2021-05-25 12:27:5193 "*.md",
Alex Rudenko8505e322021-05-25 06:01:1794 ])
95
96if (!is_debug) {
97 node_action("compress") {
98 script = "scripts/build/compress_files.js"
99 public_deps = [ ":devtools_frontend_resources" ]
100
101 sources = []
102 foreach(_grd_file, _compressable_grd_files) {
103 sources += [ "$target_gen_dir/$_grd_file" ]
104 }
105
106 response_file_contents = rebase_path(sources, root_build_dir)
107
108 outputs = []
109 foreach(_grd_file, _compressable_grd_files) {
110 outputs += [
111 "$target_gen_dir/$_grd_file.compressed",
112 "$target_gen_dir/$_grd_file.hash",
113 ]
114 }
115
116 args = [
117 "--file_list",
118 "{{response_file_name}}",
119 ]
120 }
121} else {
122 not_needed([ "_compressable_grd_files" ])
123}
124
Tim van der Lippebc42a632019-11-28 14:22:55125action("generate_devtools_grd") {
126 script = "scripts/build/generate_devtools_grd.py"
127
Tim van der Lippe0fa20642021-04-23 15:26:04128 response_file_contents = rebase_path(_expected_grd_files, "front_end")
Tim van der Lippeb4ab8da2021-04-23 09:23:34129 outfile = "$target_gen_dir/front_end/devtools_resources.grd"
Tim van der Lippeada1b592021-04-23 15:20:49130 outputs = [ outfile ]
Blink Reformat4c46d092018-04-07 15:32:37131
Tim van der Lippee2fbfea2020-01-09 13:53:50132 args = [
Tim van der Lippe0fa20642021-04-23 15:26:04133 "--file_list",
134 "{{response_file_name}}",
135 "--output",
136 rebase_path(outfile, root_build_dir),
137 ]
Alex Rudenko8505e322021-05-25 06:01:17138
139 inputs = []
140
141 if (is_debug) {
142 deps = [ ":devtools_frontend_resources" ]
143 foreach(_grd_file, _expected_grd_files) {
144 inputs += [ "$target_gen_dir/$_grd_file" ]
145 }
146 } else {
147 deps = [ ":compress" ]
148 foreach(_grd_file, _expected_grd_files) {
149 inputs += [ "$target_gen_dir/$_grd_file" ]
150 }
151 foreach(_grd_file, _compressable_grd_files) {
152 inputs += [ "$target_gen_dir/$_grd_file.compressed" ]
153 }
154
Bruce Dawson42395302021-01-26 08:57:36155 # Compression is slow, particularly in debug builds, so only compress in
156 # non-debug builds.
157 args += [ "--compress" ]
158 }
Tim van der Lippebc42a632019-11-28 14:22:55159}