| # Copyright 2016 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/chrome_build.gni") |
| import("//tools/grit/repack.gni") |
| |
| declare_args() { |
| # Additional source_patterns for ios_chrome_repack_locales. |
| ios_locales_pack_extra_source_patterns = [] |
| |
| # Additional dependencies for ios_chrome_repack_locales. |
| ios_locales_pack_extra_deps = [] |
| |
| # Additional source_patterns for ios_chrome_repack_all_scales. |
| ios_scalable_pack_extra_source_patterns = [] |
| |
| # Additional dependencies for ios_chrome_repack_all_scales. |
| ios_scalable_pack_extra_deps = [] |
| } |
| |
| # Wraps repack_locales() with default needed to pack localized strings for |
| # Chrome on iOS. Additional source_patterns and deps can be passed via gn |
| # variables when using internal iOS repository. |
| # |
| # Generates a collection of bundle_data targets. |
| template("ios_chrome_repack_locales") { |
| repack_locales(target_name) { |
| forward_variables_from(invoker, "*") |
| source_patterns = [ |
| "${root_gen_dir}/components/strings/components_branded_strings_", |
| "${root_gen_dir}/components/strings/components_locale_settings_", |
| "${root_gen_dir}/components/strings/components_strings_", |
| "${root_gen_dir}/components/omnibox/resources/omnibox_pedal_synonyms_", |
| "${root_gen_dir}/components/plus_addresses/core/browser/resources/strings/plus_addresses_strings_", |
| "${root_gen_dir}/ios/chrome/ios_branded_strings_", |
| "${root_gen_dir}/ios/chrome/ios_strings_", |
| "${root_gen_dir}/ios/chrome/ios_whats_new_strings_", |
| "${root_gen_dir}/third_party/libaddressinput/address_input_strings_", |
| "${root_gen_dir}/ui/strings/app_locale_settings_", |
| "${root_gen_dir}/ui/strings/ax_strings_", |
| "${root_gen_dir}/ui/strings/ui_strings_", |
| ] |
| |
| foreach(_source_pattern, ios_locales_pack_extra_source_patterns) { |
| _source_pattern = |
| string_replace(_source_pattern, "%root_gen_dir%", root_gen_dir) |
| |
| source_patterns += [ _source_pattern ] |
| } |
| |
| deps = [ |
| "//components/omnibox/resources:omnibox_pedal_synonyms_grit", |
| "//components/plus_addresses/core/browser/resources/strings", |
| "//components/strings:components_branded_strings", |
| "//components/strings:components_locale_settings", |
| "//components/strings:components_strings", |
| "//ios/chrome/app/strings:ios_branded_strings", |
| "//ios/chrome/app/strings:ios_strings", |
| "//ios/chrome/browser/whats_new/ui/strings", |
| "//third_party/libaddressinput:strings", |
| "//ui/strings:app_locale_settings", |
| "//ui/strings:ax_strings", |
| "//ui/strings:ui_strings", |
| ] + ios_locales_pack_extra_deps |
| |
| copy_data_to_bundle = true |
| |
| if (enable_builtin_search_provider_assets) { |
| source_patterns += [ "${root_gen_dir}/third_party/search_engines_data/search_engine_descriptions_strings_" ] |
| deps += [ |
| "//third_party/search_engines_data:search_engine_descriptions_strings", |
| ] |
| } |
| } |
| } |
| |
| # Template to repack all scalable resources at all scales. Additional |
| # source_patterns and deps can be passed via gn variables when using |
| # internal iOS repository |
| # |
| # Arguments |
| # |
| # scales |
| # list of strings corresponding to scales as percentage, e.g. "200" |
| # corresponds to @2x scale. |
| # |
| # Generates a collection of bundle_data targets for convenience. |
| template("ios_chrome_repack_scalables") { |
| _scale_target_names = [] |
| _target_name = target_name |
| |
| foreach(_scale, invoker.scales) { |
| _scale_target_name = "${target_name}_${_scale}" |
| _scale_target_names += [ ":$_scale_target_name" ] |
| |
| repack("$_scale_target_name") { |
| forward_variables_from(invoker, |
| [ |
| "deps", |
| "testonly", |
| ]) |
| visibility = [ ":$_target_name" ] |
| |
| sources = [ |
| "${root_gen_dir}/components/components_resources_${_scale}_percent.pak", |
| "${root_gen_dir}/ios/chrome/ios_theme_resources_${_scale}_percent.pak", |
| "${root_gen_dir}/ui/resources/ui_resources_${_scale}_percent.pak", |
| ] |
| foreach(_source_pattern, ios_scalable_pack_extra_source_patterns) { |
| _source_pattern = string_replace(_source_pattern, "%scale%", _scale) |
| _source_pattern = |
| string_replace(_source_pattern, "%root_gen_dir%", root_gen_dir) |
| |
| sources += [ _source_pattern ] |
| } |
| |
| deps = [ |
| "//components/resources", |
| "//ios/chrome/app/theme", |
| "//ui/resources", |
| ] + ios_scalable_pack_extra_deps |
| |
| if (enable_builtin_search_provider_assets) { |
| sources += [ "${root_gen_dir}/third_party/search_engines_data/search_engines_resources_${_scale}_percent.pak" ] |
| deps += [ "//third_party/search_engines_data:resources" ] |
| } |
| |
| output = "$target_gen_dir/chrome_${_scale}_percent.pak" |
| copy_data_to_bundle = true |
| } |
| } |
| |
| group(_target_name) { |
| forward_variables_from(invoker, |
| [ |
| "testonly", |
| "visibility", |
| ]) |
| public_deps = _scale_target_names |
| } |
| } |