| Index: ios/chrome/extension_repack.gni
|
| diff --git a/ios/chrome/extension_repack.gni b/ios/chrome/extension_repack.gni
|
| index f029d1aaf353950d1531448a0fdf734a19f08825..50b118ba97d43fe733cf5def72f109b3ac6d71e1 100644
|
| --- a/ios/chrome/extension_repack.gni
|
| +++ b/ios/chrome/extension_repack.gni
|
| @@ -4,122 +4,24 @@
|
|
|
| import("//tools/grit/repack.gni")
|
|
|
| -# Pack all resources for an application extension for a given locale.
|
| +# Pack all resources for an application extension for all locales.
|
| #
|
| -# Arguments:
|
| +# Arguments (in addition to those from repack_locales):
|
| #
|
| # extension [required]
|
| # name of the application extension.
|
| #
|
| -# input_locale [required]
|
| -# name of the locale to pack.
|
| -#
|
| -# output_locale [required]
|
| -# name of the locale (may be different from input_locale as iOS
|
| -# and Chrome does not use the same convention for naming locales
|
| -# with country variants).
|
| -#
|
| -# copy_data_to_bundle [required]
|
| -# controls whether bundle_data targets are defined to copy the repacked
|
| -# data into the final bundle.
|
| -#
|
| -# visibility [optional]
|
| -# usual meaning.
|
| -#
|
| -template("_extension_repack_one_locale") {
|
| - assert(defined(invoker.extension), "Need extension for $target_name")
|
| - assert(defined(invoker.input_locale), "Need input_locale for $target_name")
|
| - assert(defined(invoker.output_locale), "Need output_locale for $target_name")
|
| -
|
| - if (invoker.copy_data_to_bundle) {
|
| - _target_type = "repack_and_bundle"
|
| - } else {
|
| - _target_type = "repack"
|
| - }
|
| +template("extension_repack_all_locales") {
|
| + # Wraps repack_locales(), setting the source_patterns and deps required for
|
| + # Chrome.
|
| + # Generates a collection of bundle_data targets.
|
| + repack_locales(target_name) {
|
| + forward_variables_from(invoker, "*", [ "extension" ])
|
|
|
| - target(_target_type, target_name) {
|
| - forward_variables_from(invoker, [ "visibility" ])
|
| + source_patterns = [ "$root_gen_dir/ios/${invoker.extension}/ios_${invoker.extension}_strings_" ]
|
|
|
| deps = [
|
| "//ios/chrome/${invoker.extension}/strings",
|
| ]
|
| -
|
| - sources = [
|
| - "$root_gen_dir/ios/${invoker.extension}/" +
|
| - "ios_${invoker.extension}_strings_${invoker.input_locale}.pak",
|
| - ]
|
| -
|
| - output = "$target_gen_dir/${invoker.output_locale}.lproj/locale.pak"
|
| - if (invoker.copy_data_to_bundle) {
|
| - bundle_output = "{{bundle_resources_dir}}/" +
|
| - "${invoker.output_locale}.lproj/locale.pak"
|
| - }
|
| - }
|
| -}
|
| -
|
| -# Pack all resources for an application extension for all locales.
|
| -#
|
| -# Arguments:
|
| -#
|
| -# extension [required]
|
| -# name of the application extension.
|
| -#
|
| -# input_locales [required]
|
| -# list of all locales to pack.
|
| -#
|
| -# output_locales [required]
|
| -# list of all locales in application bundle (may differ from input
|
| -# locales as iOS and Chrome does not use the same convention for
|
| -# naming locales with country variants).
|
| -#
|
| -# Must be the same length as input_locales.
|
| -#
|
| -# copy_data_to_bundle [optional]
|
| -# controls whether bundle_data targets are defined to copy the repacked
|
| -# data into the final bundle (defaults to true if not defined).
|
| -#
|
| -# visibility [optional]
|
| -# usual meaning.
|
| -#
|
| -template("extension_repack_all_locales") {
|
| - assert(defined(invoker.extension), "Need extension for $target_name")
|
| - assert(defined(invoker.input_locales), "Need input_locales for $target_name")
|
| - assert(defined(invoker.output_locales),
|
| - "Need output_locales for $target_name")
|
| -
|
| - _target_name = target_name
|
| -
|
| - _copy_data_to_bundle = true
|
| - if (defined(invoker.copy_data_to_bundle)) {
|
| - _copy_data_to_bundle = invoker.copy_data_to_bundle
|
| - }
|
| -
|
| - # TODO(614747): GN parser does not grok invoker.output_locales[foo]. Use a
|
| - # local variables to workaround this issue until the issue is fixed.
|
| - _current_locale = 0
|
| - _output_locales = invoker.output_locales
|
| -
|
| - # Collect all locale targets to avoid looping twice over the locales.
|
| - _locale_targets = []
|
| -
|
| - foreach(_input_locale, invoker.input_locales) {
|
| - _output_locale = _output_locales[_current_locale]
|
| -
|
| - _locale_target = _target_name + "_$_input_locale"
|
| - _extension_repack_one_locale(_locale_target) {
|
| - visibility = [ ":$_target_name" ]
|
| - input_locale = _input_locale
|
| - output_locale = _output_locale
|
| - extension = invoker.extension
|
| - copy_data_to_bundle = _copy_data_to_bundle
|
| - }
|
| -
|
| - _locale_targets += [ ":$_locale_target" ]
|
| - _current_locale = _current_locale + 1
|
| - }
|
| -
|
| - group(_target_name) {
|
| - forward_variables_from(invoker, [ "visibility" ])
|
| - public_deps = _locale_targets
|
| }
|
| }
|
|
|