Commit 93efc32a authored by Christopher Grant's avatar Christopher Grant Committed by Commit Bot

Revert "Android: Unify pak resource generation for Chrome and Monochrome"

This reverts commit 3e5be326.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Android: Unify pak resource generation for Chrome and Monochrome
> 
> Previously, Monochrome used its own set of GN targets to package
> resources, analogous to the ones used for Chrome (some of which are the
> same used for non-Android platforms).  This change moves both variants
> to use matching sets of template-generated targets.
> 
> Later, when bundle-specific native libraries are added, this common
> template can be reused again.
> 
> BUG=874584
> 
> Change-Id: Ia9c34cb0dfa8754207bdee146dbde47f9aca78d3
> Reviewed-on: https://chromium-review.googlesource.com/c/1318418
> Commit-Queue: Christopher Grant <cjgrant@chromium.org>
> Reviewed-by: agrieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#606060}

TBR=digit@chromium.org,cjgrant@chromium.org,agrieve@chromium.org

Change-Id: I6737ffb2f74ba75b46060f30cf571e67f0a051af
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 874584
Reviewed-on: https://chromium-review.googlesource.com/c/1324107Reviewed-by: default avatarChristopher Grant <cjgrant@chromium.org>
Commit-Queue: Christopher Grant <cjgrant@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606138}
parent 4c9dc31e
......@@ -38,7 +38,10 @@ _java_target_whitelist = [
]
# Targets that match the whitelist but are not actually java targets.
_java_target_blacklist = [ "*:*_unpack_aar" ]
_java_target_blacklist = [
"//chrome:packed_resources",
"*:*_unpack_aar",
]
_default_proguard_jar_path = "//third_party/proguard/lib/proguard.jar"
......
......@@ -1634,8 +1634,7 @@ if (is_chrome_branded && !is_android) {
}
}
if (!is_android) {
chrome_paks("packed_resources") {
chrome_paks("packed_resources") {
if (is_mac) {
output_dir = "$root_gen_dir/repack"
copy_data_to_bundle = true
......@@ -1650,12 +1649,11 @@ if (!is_android) {
]
}
if (is_chrome_branded && !is_mac) {
if (is_chrome_branded && !is_mac && !is_android) {
public_deps = [
":default_apps",
]
}
}
}
repack("browser_tests_pak") {
......
......@@ -53,6 +53,15 @@ chrome_sync_shell_jinja_variables =
app_hooks_impl = "java/src/org/chromium/chrome/browser/AppHooksImpl.java"
if (enable_resource_whitelist_generation) {
monochrome_resource_whitelist =
"$target_gen_dir/monochrome_resource_whitelist.txt"
system_webview_locale_resource_id_list =
"$target_gen_dir/system_webview_locale_resource_id_list.txt"
monochrome_locale_whitelist =
"$target_gen_dir/monochrome_locale_whitelist.txt"
}
# Exclude it from JNI registration if VR is not enabled.
jni_exception_files = []
if (!enable_vr) {
......@@ -955,6 +964,35 @@ java_group("chrome_public_non_pak_assets") {
}
}
android_assets("chrome_public_pak_assets") {
sources = [
"$root_out_dir/chrome_100_percent.pak",
"$root_out_dir/resources.pak",
]
disable_compression = true
deps = [
":chrome_public_locale_pak_assets",
"//chrome:packed_resources",
]
}
# This target is separate from chrome_public_pak_assets because it does not
# disable compression.
android_assets("chrome_public_locale_pak_assets") {
renaming_sources = []
renaming_destinations = []
foreach(_locale, locales - android_chrome_omitted_locales) {
renaming_sources += [ "$root_out_dir/locales/$_locale.pak" ]
renaming_destinations += [ "locales/$_locale.pak" ]
}
treat_as_locale_paks = true
deps = [
"//chrome:packed_resources",
]
}
jinja_template_resources("chrome_public_apk_template_resources") {
resources = [
"java/res_template/xml/file_paths.xml",
......@@ -1110,44 +1148,8 @@ if (current_toolchain == default_toolchain) {
exception_files = jni_exception_files
}
# This template instantiates targets responsible for generating pak
# resources. The generated target names are derived from input variables.
#
# Variables:
# is_monochrome: If true, generate Monochrome targets rather than Chrome.
# is_bundle: If true, generate resources for bundles rather than APK.
template("resource_packaging") {
not_needed([ "target_name" ])
_is_monochrome = invoker.is_monochrome
_is_bundle = invoker.is_bundle
if (_is_monochrome) {
_prefix = "monochrome"
} else {
_prefix = "chrome"
}
if (_is_bundle) {
_output_type = "bundle"
} else {
_output_type = "apk"
}
_variant = "${_prefix}_${_output_type}"
if (enable_resource_whitelist_generation) {
_resource_whitelist_target = "${_variant}_resource_whitelist"
_resource_whitelist_file =
"$target_gen_dir/${_variant}_resource_whitelist.txt"
if (_is_monochrome) {
_target = "monochrome"
} else {
_target = "libchrome"
}
generate_resource_whitelist(_resource_whitelist_target) {
_fat_lib_toolchain = ""
if (_is_monochrome) {
generate_resource_whitelist("monochrome_resource_whitelist") {
# Always use the 32-bit library's whitelist since the 64-bit one is
# webview-only.
if (!android_64bit_target_cpu) {
......@@ -1155,27 +1157,19 @@ if (current_toolchain == default_toolchain) {
} else {
_fat_lib_toolchain = android_secondary_abi_toolchain
}
}
deps = [
":${_target}($_fat_lib_toolchain)",
":monochrome($_fat_lib_toolchain)",
]
input = get_label_info(deps[0], "root_out_dir") +
"/lib.unstripped/lib${_prefix}$shlib_extension"
output = _resource_whitelist_file
"/lib.unstripped/libmonochrome$shlib_extension"
output = monochrome_resource_whitelist
}
# Use custom resource ID list instead of android_webview's compiler
# resource whitelist because //android_webview:generate_webui_resources
# and //android_webview:generate_components_resources use hand-written
# resource whitelist because //android_webview: generate_webui_resources
# and //android_webview: generate_components_resources use hand-written
# resource whitelists.
if (_is_monochrome) {
_locale_whitelist_target = "${_variant}_locale_whitelist"
_locale_whitelist_file =
"$target_gen_dir/${_variant}_locale_whitelist.txt"
_system_webview_locale_resource_id_list =
"$target_gen_dir/system_webview_locale_resource_id_list.txt"
action("system_webview_locale_resource_id_list") {
script = "//tools/grit/pak_util.py"
......@@ -1187,7 +1181,7 @@ if (current_toolchain == default_toolchain) {
]
outputs = [
_system_webview_locale_resource_id_list,
system_webview_locale_resource_id_list,
]
deps = [
......@@ -1197,111 +1191,85 @@ if (current_toolchain == default_toolchain) {
args = [
"list-id",
"--output",
rebase_path(_system_webview_locale_resource_id_list,
root_build_dir),
rebase_path(system_webview_locale_resource_id_list, root_build_dir),
rebase_path(_system_webview_en_US_locale_pak, root_build_dir),
]
}
action(_locale_whitelist_target) {
action("monochrome_locale_whitelist") {
script = "//tools/resources/filter_resource_whitelist.py"
inputs = [
_resource_whitelist_file,
_system_webview_locale_resource_id_list,
monochrome_resource_whitelist,
system_webview_locale_resource_id_list,
]
outputs = [
_locale_whitelist_file,
monochrome_locale_whitelist,
]
deps = [
":${_resource_whitelist_target}",
":monochrome_resource_whitelist",
":system_webview_locale_resource_id_list",
"//android_webview:system_webview_pak_whitelist",
]
args = [
"--input",
rebase_path(_resource_whitelist_file, root_build_dir),
rebase_path(monochrome_resource_whitelist, root_build_dir),
"--filter",
rebase_path(_system_webview_locale_resource_id_list,
root_build_dir),
rebase_path(system_webview_locale_resource_id_list, root_build_dir),
"--output",
rebase_path(_locale_whitelist_file, root_build_dir),
rebase_path(monochrome_locale_whitelist, root_build_dir),
]
}
}
}
chrome_paks("${_variant}_paks") {
chrome_paks("monochrome_paks") {
output_dir = "$target_gen_dir/$target_name"
deps = []
if (_is_monochrome) {
additional_extra_paks =
[ "$root_gen_dir/android_webview/aw_resources.pak" ]
deps += [ "//android_webview:generate_aw_resources" ]
}
additional_extra_paks = [ "$root_gen_dir/android_webview/aw_resources.pak" ]
deps = [
"//android_webview:generate_aw_resources",
]
if (enable_resource_whitelist_generation) {
repack_whitelist = _resource_whitelist_file
deps += [ ":${_resource_whitelist_target}" ]
if (_is_monochrome) {
locale_whitelist = _locale_whitelist_file
deps += [ ":${_variant}_locale_whitelist" ]
}
repack_whitelist = monochrome_resource_whitelist
deps += [ ":monochrome_resource_whitelist" ]
locale_whitelist = monochrome_locale_whitelist
deps += [ ":monochrome_locale_whitelist" ]
}
}
# This target is separate from monochrome_pak_assets because it does not
# disable compression.
android_assets("${_variant}_locale_pak_assets") {
android_assets("monochrome_locale_pak_assets") {
renaming_sources = []
renaming_destinations = []
foreach(_locale, locales - android_chrome_omitted_locales) {
renaming_sources +=
[ "$target_gen_dir/${_variant}_paks/locales/$_locale.pak" ]
[ "$target_gen_dir/monochrome_paks/locales/$_locale.pak" ]
renaming_destinations += [ "locales/$_locale.pak" ]
}
treat_as_locale_paks = true
deps = [
":${_variant}_paks",
":monochrome_paks",
]
}
# This target explicitly includes locale paks via deps.
android_assets("${_variant}_pak_assets") {
android_assets("monochrome_pak_assets") {
sources = [
"$target_gen_dir/${_variant}_paks/chrome_100_percent.pak",
"$target_gen_dir/${_variant}_paks/resources.pak",
"$target_gen_dir/monochrome_paks/chrome_100_percent.pak",
"$target_gen_dir/monochrome_paks/resources.pak",
]
disable_compression = true
deps = [
":${_variant}_locale_pak_assets",
":${_variant}_paks",
]
if (_is_monochrome) {
deps += [ "//android_webview:locale_pak_assets" ]
}
}
}
resource_packaging("") {
is_monochrome = false
is_bundle = false
}
resource_packaging("") {
is_monochrome = true
is_bundle = false
}
# TODO(cjgrant): Remove this temporary alias after downstream renaming lands.
java_group("chrome_public_pak_assets") {
deps = [
":chrome_apk_pak_assets",
":monochrome_locale_pak_assets",
":monochrome_paks",
"//android_webview:locale_pak_assets",
]
}
} # current_toolchain == host_toolchain
......@@ -1414,7 +1382,7 @@ _chrome_public_and_sync_shell_shared_deps = [
":chrome_public_apk_resources",
":chrome_public_base_module_java",
":chrome_public_non_pak_assets",
":chrome_apk_pak_assets",
":chrome_public_pak_assets",
]
generate_jni("test_support_jni_headers") {
......
......@@ -264,7 +264,7 @@ template("monochrome_public_common_apk_or_module_tmpl") {
"//android_webview/apk:webview_license_activity_java",
"//android_webview/glue",
"//chrome/android:chrome_public_non_pak_assets",
"//chrome/android:monochrome_apk_pak_assets",
"//chrome/android:monochrome_pak_assets",
"//chrome/android/monochrome:monochrome_license_provider_java",
]
......
......@@ -4145,14 +4145,10 @@ test("unit_tests") {
}
if (!is_mac) {
deps += [
"//chrome:packed_resources",
"//chrome/tools/convert_dict:lib",
"//third_party/hunspell",
]
if (is_android) {
deps += [ "//chrome/android:chrome_apk_paks" ]
} else {
deps += [ "//chrome:packed_resources" ]
}
}
if (is_win || is_mac || is_chromeos) {
sources += [ "../browser/extensions/api/networking_private/networking_private_crypto_unittest.cc" ]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment