OLD | NEW |
| (Empty) |
1 # Copyright 2016 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 | |
5 import("//build/config/locales.gni") | |
6 import("chrome_repack_locales.gni") | |
7 | |
8 # Generates a rule to repack a set of resources, substituting a given string | |
9 # in for the percentage (e.g. "100", "200"). It generates the repacked files in | |
10 # the "gen" directory, and then introduces a copy rule to copy it to the root | |
11 # build directory. | |
12 # | |
13 # Argument: | |
14 # percent [required] | |
15 # String to substitute for the percentage. | |
16 template("chrome_repack_percent") { | |
17 percent = invoker.percent | |
18 | |
19 repack(target_name) { | |
20 forward_variables_from(invoker, | |
21 [ | |
22 "copy_data_to_bundle", | |
23 "repack_whitelist", | |
24 "visibility", | |
25 ]) | |
26 | |
27 # All sources should also have deps for completeness. | |
28 sources = [ | |
29 "$root_gen_dir/blink/public/resources/blink_image_resources_${percent}_per
cent.pak", | |
30 "$root_gen_dir/chrome/renderer_resources_${percent}_percent.pak", | |
31 "$root_gen_dir/chrome/theme_resources_${percent}_percent.pak", | |
32 "$root_gen_dir/components/components_resources_${percent}_percent.pak", | |
33 "$root_gen_dir/content/app/resources/content_resources_${percent}_percent.
pak", | |
34 "$root_gen_dir/ui/resources/ui_resources_${percent}_percent.pak", | |
35 ] | |
36 | |
37 deps = [ | |
38 "//chrome/app/theme:theme_resources", | |
39 "//chrome/renderer:resources", | |
40 "//components/resources", | |
41 "//components/strings", | |
42 "//content/app/resources", | |
43 "//net:net_resources", | |
44 "//third_party/WebKit/public:image_resources", | |
45 "//ui/resources", | |
46 ] | |
47 | |
48 if (defined(invoker.deps)) { | |
49 deps += invoker.deps | |
50 } | |
51 | |
52 if (use_ash) { | |
53 sources += | |
54 [ "$root_gen_dir/ash/resources/ash_resources_${percent}_percent.pak" ] | |
55 deps += [ "//ash/resources" ] | |
56 } | |
57 if (toolkit_views) { | |
58 sources += [ "$root_gen_dir/ui/views/resources/views_resources_${percent}_
percent.pak" ] | |
59 deps += [ "//ui/views/resources" ] | |
60 } | |
61 if (is_chromeos) { | |
62 sources += [ "$root_gen_dir/ui/chromeos/resources/ui_chromeos_resources_${
percent}_percent.pak" ] | |
63 deps += [ "//ui/chromeos/resources" ] | |
64 } | |
65 if (enable_extensions) { | |
66 sources += [ "$root_gen_dir/extensions/extensions_browser_resources_${perc
ent}_percent.pak" ] | |
67 deps += [ "//extensions:extensions_browser_resources" ] | |
68 } | |
69 if (enable_app_list) { | |
70 sources += [ "$root_gen_dir/ui/app_list/resources/app_list_resources_${per
cent}_percent.pak" ] | |
71 deps += [ "//ui/app_list/resources" ] | |
72 } | |
73 | |
74 output = "${invoker.output_dir}/chrome_${percent}_percent.pak" | |
75 } | |
76 } | |
77 | |
78 # Paramters: | |
79 # output_dir: | |
80 # | |
81 template("chrome_paks") { | |
82 chrome_repack_percent("${target_name}_100_percent") { | |
83 percent = "100" | |
84 forward_variables_from(invoker, | |
85 [ | |
86 "copy_data_to_bundle", | |
87 "deps", | |
88 "output_dir", | |
89 "repack_whitelist", | |
90 "visibility", | |
91 ]) | |
92 } | |
93 | |
94 if (invoker.enable_hidpi) { | |
95 chrome_repack_percent("${target_name}_200_percent") { | |
96 percent = "200" | |
97 forward_variables_from(invoker, | |
98 [ | |
99 "copy_data_to_bundle", | |
100 "deps", | |
101 "output_dir", | |
102 "repack_whitelist", | |
103 "visibility", | |
104 ]) | |
105 } | |
106 } | |
107 | |
108 chrome_repack_locales("${target_name}_locales") { | |
109 forward_variables_from(invoker, | |
110 [ | |
111 "copy_data_to_bundle", | |
112 "deps", | |
113 "repack_whitelist", | |
114 "visibility", | |
115 ]) | |
116 | |
117 input_locales = locales | |
118 output_dir = "${invoker.output_dir}/locales" | |
119 | |
120 if (is_mac) { | |
121 output_locales = locales_as_mac_outputs | |
122 } else { | |
123 output_locales = locales | |
124 } | |
125 } | |
126 | |
127 group(target_name) { | |
128 public_deps = [ | |
129 ":${target_name}_100_percent", | |
130 ":${target_name}_locales", | |
131 ] | |
132 if (invoker.enable_hidpi) { | |
133 public_deps += [ ":${target_name}_200_percent" ] | |
134 } | |
135 if (defined(invoker.deps)) { | |
136 public_deps += invoker.deps | |
137 } | |
138 } | |
139 } | |
140 | |
141 template("chrome_extra_paks") { | |
142 repack(target_name) { | |
143 forward_variables_from(invoker, | |
144 [ | |
145 "copy_data_to_bundle", | |
146 "repack_whitelist", | |
147 "visibility", | |
148 ]) | |
149 output = "${invoker.output_dir}/resources.pak" | |
150 sources = [ | |
151 "$root_gen_dir/blink/public/resources/blink_resources.pak", | |
152 "$root_gen_dir/chrome/browser_resources.pak", | |
153 "$root_gen_dir/chrome/chrome_unscaled_resources.pak", | |
154 "$root_gen_dir/chrome/common_resources.pak", | |
155 "$root_gen_dir/chrome/invalidations_resources.pak", | |
156 "$root_gen_dir/chrome/net_internals_resources.pak", | |
157 "$root_gen_dir/chrome/password_manager_internals_resources.pak", | |
158 "$root_gen_dir/chrome/policy_resources.pak", | |
159 "$root_gen_dir/chrome/translate_internals_resources.pak", | |
160 "$root_gen_dir/components/components_resources.pak", | |
161 "$root_gen_dir/content/browser/tracing/tracing_resources.pak", | |
162 "$root_gen_dir/content/content_resources.pak", | |
163 "$root_gen_dir/net/net_resources.pak", | |
164 "$root_gen_dir/ui/resources/webui_resources.pak", | |
165 ] | |
166 deps = [ | |
167 "//chrome/app/theme:chrome_unscaled_resources", | |
168 "//chrome/browser:resources", | |
169 "//chrome/browser/resources:invalidations_resources", | |
170 "//chrome/browser/resources:net_internals_resources", | |
171 "//chrome/browser/resources:password_manager_internals_resources", | |
172 "//chrome/browser/resources:policy_resources", | |
173 "//chrome/browser/resources:translate_internals_resources", | |
174 "//chrome/common:resources", | |
175 "//components/resources", | |
176 "//content:resources", | |
177 "//content/browser/tracing:resources", | |
178 "//net:net_resources", | |
179 "//third_party/WebKit/public:resources", | |
180 "//ui/resources", | |
181 ] | |
182 if (defined(invoker.deps)) { | |
183 deps += invoker.deps | |
184 } | |
185 | |
186 if (is_android) { | |
187 sources += [ "$root_gen_dir/android_webview/aw_resources.pak" ] | |
188 deps += [ "//android_webview:generate_aw_resources" ] | |
189 } else { # Non-Android. | |
190 # New paks should be added here by default. | |
191 sources += [ | |
192 "$root_gen_dir/blink/devtools_resources.pak", | |
193 "$root_gen_dir/chrome/component_extension_resources.pak", | |
194 "$root_gen_dir/chrome/options_resources.pak", | |
195 "$root_gen_dir/chrome/quota_internals_resources.pak", | |
196 "$root_gen_dir/chrome/settings_resources.pak", | |
197 "$root_gen_dir/chrome/sync_file_system_internals_resources.pak", | |
198 ] | |
199 deps += [ | |
200 "//chrome/browser/resources:component_extension_resources", | |
201 "//chrome/browser/resources:options_resources", | |
202 "//chrome/browser/resources:quota_internals_resources", | |
203 "//chrome/browser/resources:settings_resources", | |
204 "//chrome/browser/resources:sync_file_system_internals_resources", | |
205 "//content/browser/devtools:devtools_resources", | |
206 ] | |
207 } | |
208 if (is_chromeos) { | |
209 sources += [ "$root_gen_dir/ui/file_manager/file_manager_resources.pak" ] | |
210 deps += [ "//ui/file_manager:resources" ] | |
211 } | |
212 if (enable_extensions) { | |
213 sources += [ | |
214 "$root_gen_dir/extensions/extensions_renderer_resources.pak", | |
215 "$root_gen_dir/extensions/extensions_resources.pak", | |
216 ] | |
217 deps += [ "//extensions:extensions_resources" ] | |
218 } | |
219 } | |
220 } | |
OLD | NEW |