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 forward_variables_from(invoker, [ "deps" ]) |
| 129 public_deps = [ |
| 130 ":${target_name}_100_percent", |
| 131 ":${target_name}_locales", |
| 132 ] |
| 133 if (invoker.enable_hidpi) { |
| 134 public_deps += [ ":${target_name}_200_percent" ] |
| 135 } |
| 136 if (defined(invoker.public_deps)) { |
| 137 public_deps += invoker.public_deps |
| 138 } |
| 139 } |
| 140 } |
| 141 |
| 142 template("chrome_extra_paks") { |
| 143 repack(target_name) { |
| 144 forward_variables_from(invoker, |
| 145 [ |
| 146 "copy_data_to_bundle", |
| 147 "repack_whitelist", |
| 148 "visibility", |
| 149 ]) |
| 150 output = "${invoker.output_dir}/resources.pak" |
| 151 sources = [ |
| 152 "$root_gen_dir/blink/public/resources/blink_resources.pak", |
| 153 "$root_gen_dir/chrome/browser_resources.pak", |
| 154 "$root_gen_dir/chrome/chrome_unscaled_resources.pak", |
| 155 "$root_gen_dir/chrome/common_resources.pak", |
| 156 "$root_gen_dir/chrome/invalidations_resources.pak", |
| 157 "$root_gen_dir/chrome/net_internals_resources.pak", |
| 158 "$root_gen_dir/chrome/password_manager_internals_resources.pak", |
| 159 "$root_gen_dir/chrome/policy_resources.pak", |
| 160 "$root_gen_dir/chrome/translate_internals_resources.pak", |
| 161 "$root_gen_dir/components/components_resources.pak", |
| 162 "$root_gen_dir/content/browser/tracing/tracing_resources.pak", |
| 163 "$root_gen_dir/content/content_resources.pak", |
| 164 "$root_gen_dir/net/net_resources.pak", |
| 165 "$root_gen_dir/ui/resources/webui_resources.pak", |
| 166 ] |
| 167 deps = [ |
| 168 "//chrome/app/theme:chrome_unscaled_resources", |
| 169 "//chrome/browser:resources", |
| 170 "//chrome/browser/resources:invalidations_resources", |
| 171 "//chrome/browser/resources:net_internals_resources", |
| 172 "//chrome/browser/resources:password_manager_internals_resources", |
| 173 "//chrome/browser/resources:policy_resources", |
| 174 "//chrome/browser/resources:translate_internals_resources", |
| 175 "//chrome/common:resources", |
| 176 "//components/resources", |
| 177 "//content:resources", |
| 178 "//content/browser/tracing:resources", |
| 179 "//net:net_resources", |
| 180 "//third_party/WebKit/public:resources", |
| 181 "//ui/resources", |
| 182 ] |
| 183 if (defined(invoker.deps)) { |
| 184 deps += invoker.deps |
| 185 } |
| 186 |
| 187 if (is_android) { |
| 188 sources += [ "$root_gen_dir/android_webview/aw_resources.pak" ] |
| 189 deps += [ "//android_webview:generate_aw_resources" ] |
| 190 } else { # Non-Android. |
| 191 # New paks should be added here by default. |
| 192 sources += [ |
| 193 "$root_gen_dir/blink/devtools_resources.pak", |
| 194 "$root_gen_dir/chrome/component_extension_resources.pak", |
| 195 "$root_gen_dir/chrome/options_resources.pak", |
| 196 "$root_gen_dir/chrome/quota_internals_resources.pak", |
| 197 "$root_gen_dir/chrome/settings_resources.pak", |
| 198 "$root_gen_dir/chrome/sync_file_system_internals_resources.pak", |
| 199 ] |
| 200 deps += [ |
| 201 "//chrome/browser/resources:component_extension_resources", |
| 202 "//chrome/browser/resources:options_resources", |
| 203 "//chrome/browser/resources:quota_internals_resources", |
| 204 "//chrome/browser/resources:settings_resources", |
| 205 "//chrome/browser/resources:sync_file_system_internals_resources", |
| 206 "//content/browser/devtools:devtools_resources", |
| 207 ] |
| 208 } |
| 209 if (is_chromeos) { |
| 210 sources += [ "$root_gen_dir/ui/file_manager/file_manager_resources.pak" ] |
| 211 deps += [ "//ui/file_manager:resources" ] |
| 212 } |
| 213 if (enable_extensions) { |
| 214 sources += [ |
| 215 "$root_gen_dir/extensions/extensions_renderer_resources.pak", |
| 216 "$root_gen_dir/extensions/extensions_resources.pak", |
| 217 ] |
| 218 deps += [ "//extensions:extensions_resources" ] |
| 219 } |
| 220 } |
| 221 } |
OLD | NEW |