mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2025-02-26 11:53:19 +03:00
102 lines
3.9 KiB
Plaintext
102 lines
3.9 KiB
Plaintext
|
# 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"
|
||
|
_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 = 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 = 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
|
||
|
}
|
||
|
|
||
|
# NOTE: Only sign bundle for official builds since this is very slow.
|
||
|
if (enable_chrome_android_internal && use_signing_keys &&
|
||
|
is_official_build) {
|
||
|
sign_bundle = true
|
||
|
keystore_path = webview_keystore_path
|
||
|
keystore_name = webview_keystore_name
|
||
|
keystore_password = webview_keystore_password
|
||
|
}
|
||
|
forward_variables_from(invoker, "*")
|
||
|
}
|
||
|
}
|