123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- # Copyright 2019 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- import("//build/config/android/rules.gni")
- import("//build/config/locales.gni")
- import("//weblayer/variables.gni")
- template("system_webview_bundle") {
- _base_target_name = get_label_info(invoker.base_module_target, "name")
- _base_target_gen_dir =
- get_label_info(invoker.base_module_target, "target_gen_dir")
- _base_module_build_config =
- "$_base_target_gen_dir/${_base_target_name}.build_config.json"
- _rebased_base_module_build_config =
- rebase_path(_base_module_build_config, root_build_dir)
- _base_module_version_code =
- "@FileArg($_rebased_base_module_build_config:deps_info:version_code)"
- if (webview_includes_weblayer && weblayer_in_split) {
- # TODO(crbug.com/1105096): If WebView starts using
- # //components/module_installer, it will probably make sense to refactor
- # chrome_feature_module() to be used here.
- _base_module_build_config_target =
- "${invoker.base_module_target}$build_config_target_suffix"
- _weblayer_module_target = "${target_name}__weblayer_bundle_module"
- _weblayer_module_desc = {
- name = "weblayer"
- module_target = ":${_weblayer_module_target}"
- }
- # TODO(crbug.com/1105096): This target is needed to add all WebLayer
- # resources to the base module because of bugs with shared resources in
- # splits.
- android_resources("${_base_target_name}__all_weblayer_resources") {
- recursive_resource_deps = true
- deps = [ "//weblayer/browser/java" ]
- if (defined(invoker.weblayer_deps)) {
- deps += invoker.weblayer_deps
- }
- }
- android_app_bundle_module(_weblayer_module_target) {
- forward_variables_from(invoker,
- [
- "base_module_target",
- "min_sdk_version",
- "uncompress_shared_libraries",
- ])
- android_manifest = "//weblayer/browser/java/AndroidManifest.xml"
- # The manifest depends on the package name from the base build config.
- android_manifest_dep = _base_module_build_config_target
- deps = [
- "//weblayer/browser/java",
- _base_module_build_config_target,
- ]
- if (defined(invoker.weblayer_deps)) {
- deps += invoker.weblayer_deps
- }
- aapt_locale_allowlist = platform_pak_locales
- proguard_enabled = !is_java_debug
- package_name = "weblayer"
- package_id = 126
- version_name =
- "@FileArg($_rebased_base_module_build_config:deps_info:version_name)"
- version_code = _base_module_version_code
- manifest_package =
- "@FileArg($_rebased_base_module_build_config:deps_info:package_name)"
- }
- }
- android_app_bundle(target_name) {
- command_line_flags_file = "webview-command-line"
- proguard_enabled = !is_java_debug
- enable_language_splits = true
- version_code = _base_module_version_code
- if (webview_includes_weblayer && weblayer_in_split) {
- extra_modules = [ _weblayer_module_desc ]
- }
- system_image_locale_allowlist = platform_pak_locales
- is_multi_abi =
- android_64bit_target_cpu && (!defined(invoker.include_64_bit_webview) ||
- invoker.include_64_bit_webview) &&
- (!defined(invoker.include_32_bit_webview) ||
- invoker.include_32_bit_webview)
- if (!defined(proguard_android_sdk_dep)) {
- proguard_android_sdk_dep = webview_framework_dep
- }
- # For this to be respected, it must also be set on the base module target.
- strip_unused_resources = is_official_build
- forward_variables_from(invoker, "*")
- }
- }
|