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 = [ ...@@ -38,7 +38,10 @@ _java_target_whitelist = [
] ]
# Targets that match the whitelist but are not actually java targets. # 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" _default_proguard_jar_path = "//third_party/proguard/lib/proguard.jar"
......
...@@ -1634,27 +1634,25 @@ if (is_chrome_branded && !is_android) { ...@@ -1634,27 +1634,25 @@ if (is_chrome_branded && !is_android) {
} }
} }
if (!is_android) { chrome_paks("packed_resources") {
chrome_paks("packed_resources") { if (is_mac) {
if (is_mac) { output_dir = "$root_gen_dir/repack"
output_dir = "$root_gen_dir/repack" copy_data_to_bundle = true
copy_data_to_bundle = true } else {
} else { output_dir = root_out_dir
output_dir = root_out_dir }
}
if (enable_resource_whitelist_generation) { if (enable_resource_whitelist_generation) {
repack_whitelist = chrome_resource_whitelist repack_whitelist = chrome_resource_whitelist
deps = [ deps = [
"//chrome:resource_whitelist", "//chrome:resource_whitelist",
] ]
} }
if (is_chrome_branded && !is_mac) { if (is_chrome_branded && !is_mac && !is_android) {
public_deps = [ public_deps = [
":default_apps", ":default_apps",
] ]
}
} }
} }
......
...@@ -53,6 +53,15 @@ chrome_sync_shell_jinja_variables = ...@@ -53,6 +53,15 @@ chrome_sync_shell_jinja_variables =
app_hooks_impl = "java/src/org/chromium/chrome/browser/AppHooksImpl.java" 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. # Exclude it from JNI registration if VR is not enabled.
jni_exception_files = [] jni_exception_files = []
if (!enable_vr) { if (!enable_vr) {
...@@ -955,6 +964,35 @@ java_group("chrome_public_non_pak_assets") { ...@@ -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") { jinja_template_resources("chrome_public_apk_template_resources") {
resources = [ resources = [
"java/res_template/xml/file_paths.xml", "java/res_template/xml/file_paths.xml",
...@@ -1110,198 +1148,128 @@ if (current_toolchain == default_toolchain) { ...@@ -1110,198 +1148,128 @@ if (current_toolchain == default_toolchain) {
exception_files = jni_exception_files exception_files = jni_exception_files
} }
# This template instantiates targets responsible for generating pak if (enable_resource_whitelist_generation) {
# resources. The generated target names are derived from input variables. generate_resource_whitelist("monochrome_resource_whitelist") {
# # Always use the 32-bit library's whitelist since the 64-bit one is
# Variables: # webview-only.
# is_monochrome: If true, generate Monochrome targets rather than Chrome. if (!android_64bit_target_cpu) {
# is_bundle: If true, generate resources for bundles rather than APK. _fat_lib_toolchain = current_toolchain
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 { } else {
_target = "libchrome" _fat_lib_toolchain = android_secondary_abi_toolchain
}
generate_resource_whitelist(_resource_whitelist_target) {
_fat_lib_toolchain = ""
if (_is_monochrome) {
# Always use the 32-bit library's whitelist since the 64-bit one is
# webview-only.
if (!android_64bit_target_cpu) {
_fat_lib_toolchain = current_toolchain
} else {
_fat_lib_toolchain = android_secondary_abi_toolchain
}
}
deps = [
":${_target}($_fat_lib_toolchain)",
]
input = get_label_info(deps[0], "root_out_dir") +
"/lib.unstripped/lib${_prefix}$shlib_extension"
output = _resource_whitelist_file
} }
deps = [
":monochrome($_fat_lib_toolchain)",
]
# Use custom resource ID list instead of android_webview's compiler input = get_label_info(deps[0], "root_out_dir") +
# resource whitelist because //android_webview:generate_webui_resources "/lib.unstripped/libmonochrome$shlib_extension"
# and //android_webview:generate_components_resources use hand-written output = monochrome_resource_whitelist
# 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"
_system_webview_en_US_locale_pak =
"$root_out_dir/android_webview/locales/en-US.pak"
inputs = [
_system_webview_en_US_locale_pak,
]
outputs = [
_system_webview_locale_resource_id_list,
]
deps = [
"//android_webview:repack_locales",
]
args = [
"list-id",
"--output",
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) {
script = "//tools/resources/filter_resource_whitelist.py"
inputs = [
_resource_whitelist_file,
_system_webview_locale_resource_id_list,
]
outputs = [
_locale_whitelist_file,
]
deps = [
":${_resource_whitelist_target}",
":system_webview_locale_resource_id_list",
"//android_webview:system_webview_pak_whitelist",
]
args = [
"--input",
rebase_path(_resource_whitelist_file, root_build_dir),
"--filter",
rebase_path(_system_webview_locale_resource_id_list,
root_build_dir),
"--output",
rebase_path(_locale_whitelist_file, root_build_dir),
]
}
}
} }
chrome_paks("${_variant}_paks") { # Use custom resource ID list instead of android_webview's compiler
output_dir = "$target_gen_dir/$target_name" # resource whitelist because //android_webview: generate_webui_resources
deps = [] # and //android_webview: generate_components_resources use hand-written
# resource whitelists.
action("system_webview_locale_resource_id_list") {
script = "//tools/grit/pak_util.py"
if (_is_monochrome) { _system_webview_en_US_locale_pak =
additional_extra_paks = "$root_out_dir/android_webview/locales/en-US.pak"
[ "$root_gen_dir/android_webview/aw_resources.pak" ]
deps += [ "//android_webview:generate_aw_resources" ]
}
if (enable_resource_whitelist_generation) { inputs = [
repack_whitelist = _resource_whitelist_file _system_webview_en_US_locale_pak,
deps += [ ":${_resource_whitelist_target}" ] ]
if (_is_monochrome) {
locale_whitelist = _locale_whitelist_file
deps += [ ":${_variant}_locale_whitelist" ]
}
}
}
# This target is separate from monochrome_pak_assets because it does not outputs = [
# disable compression. system_webview_locale_resource_id_list,
android_assets("${_variant}_locale_pak_assets") { ]
renaming_sources = []
renaming_destinations = []
foreach(_locale, locales - android_chrome_omitted_locales) {
renaming_sources +=
[ "$target_gen_dir/${_variant}_paks/locales/$_locale.pak" ]
renaming_destinations += [ "locales/$_locale.pak" ]
}
treat_as_locale_paks = true
deps = [ deps = [
":${_variant}_paks", "//android_webview:repack_locales",
]
args = [
"list-id",
"--output",
rebase_path(system_webview_locale_resource_id_list, root_build_dir),
rebase_path(_system_webview_en_US_locale_pak, root_build_dir),
] ]
} }
# This target explicitly includes locale paks via deps. action("monochrome_locale_whitelist") {
android_assets("${_variant}_pak_assets") { script = "//tools/resources/filter_resource_whitelist.py"
sources = [
"$target_gen_dir/${_variant}_paks/chrome_100_percent.pak", inputs = [
"$target_gen_dir/${_variant}_paks/resources.pak", monochrome_resource_whitelist,
system_webview_locale_resource_id_list,
]
outputs = [
monochrome_locale_whitelist,
] ]
disable_compression = true
deps = [ deps = [
":${_variant}_locale_pak_assets", ":monochrome_resource_whitelist",
":${_variant}_paks", ":system_webview_locale_resource_id_list",
"//android_webview:system_webview_pak_whitelist",
]
args = [
"--input",
rebase_path(monochrome_resource_whitelist, root_build_dir),
"--filter",
rebase_path(system_webview_locale_resource_id_list, root_build_dir),
"--output",
rebase_path(monochrome_locale_whitelist, root_build_dir),
] ]
if (_is_monochrome) {
deps += [ "//android_webview:locale_pak_assets" ]
}
} }
} }
resource_packaging("") { chrome_paks("monochrome_paks") {
is_monochrome = false output_dir = "$target_gen_dir/$target_name"
is_bundle = false
additional_extra_paks = [ "$root_gen_dir/android_webview/aw_resources.pak" ]
deps = [
"//android_webview:generate_aw_resources",
]
if (enable_resource_whitelist_generation) {
repack_whitelist = monochrome_resource_whitelist
deps += [ ":monochrome_resource_whitelist" ]
locale_whitelist = monochrome_locale_whitelist
deps += [ ":monochrome_locale_whitelist" ]
}
} }
resource_packaging("") {
is_monochrome = true # This target is separate from monochrome_pak_assets because it does not
is_bundle = false # disable compression.
android_assets("monochrome_locale_pak_assets") {
renaming_sources = []
renaming_destinations = []
foreach(_locale, locales - android_chrome_omitted_locales) {
renaming_sources +=
[ "$target_gen_dir/monochrome_paks/locales/$_locale.pak" ]
renaming_destinations += [ "locales/$_locale.pak" ]
}
treat_as_locale_paks = true
deps = [
":monochrome_paks",
]
} }
# TODO(cjgrant): Remove this temporary alias after downstream renaming lands. # This target explicitly includes locale paks via deps.
java_group("chrome_public_pak_assets") { android_assets("monochrome_pak_assets") {
sources = [
"$target_gen_dir/monochrome_paks/chrome_100_percent.pak",
"$target_gen_dir/monochrome_paks/resources.pak",
]
disable_compression = true
deps = [ deps = [
":chrome_apk_pak_assets", ":monochrome_locale_pak_assets",
":monochrome_paks",
"//android_webview:locale_pak_assets",
] ]
} }
} # current_toolchain == host_toolchain } # current_toolchain == host_toolchain
...@@ -1414,7 +1382,7 @@ _chrome_public_and_sync_shell_shared_deps = [ ...@@ -1414,7 +1382,7 @@ _chrome_public_and_sync_shell_shared_deps = [
":chrome_public_apk_resources", ":chrome_public_apk_resources",
":chrome_public_base_module_java", ":chrome_public_base_module_java",
":chrome_public_non_pak_assets", ":chrome_public_non_pak_assets",
":chrome_apk_pak_assets", ":chrome_public_pak_assets",
] ]
generate_jni("test_support_jni_headers") { generate_jni("test_support_jni_headers") {
......
...@@ -264,7 +264,7 @@ template("monochrome_public_common_apk_or_module_tmpl") { ...@@ -264,7 +264,7 @@ template("monochrome_public_common_apk_or_module_tmpl") {
"//android_webview/apk:webview_license_activity_java", "//android_webview/apk:webview_license_activity_java",
"//android_webview/glue", "//android_webview/glue",
"//chrome/android:chrome_public_non_pak_assets", "//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", "//chrome/android/monochrome:monochrome_license_provider_java",
] ]
......
...@@ -4145,14 +4145,10 @@ test("unit_tests") { ...@@ -4145,14 +4145,10 @@ test("unit_tests") {
} }
if (!is_mac) { if (!is_mac) {
deps += [ deps += [
"//chrome:packed_resources",
"//chrome/tools/convert_dict:lib", "//chrome/tools/convert_dict:lib",
"//third_party/hunspell", "//third_party/hunspell",
] ]
if (is_android) {
deps += [ "//chrome/android:chrome_apk_paks" ]
} else {
deps += [ "//chrome:packed_resources" ]
}
} }
if (is_win || is_mac || is_chromeos) { if (is_win || is_mac || is_chromeos) {
sources += [ "../browser/extensions/api/networking_private/networking_private_crypto_unittest.cc" ] 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