Commit ffd2e9e7 authored by Peter Wen's avatar Peter Wen Committed by Commit Bot

Android: Prefer invoker's lint suppressions file

Since android_lint is only run for android_apk and android_app_bundle
targets, there is no longer a need for a project-wide override. Targets
that specify their own lint suppressions file can specify it as a gn
variable when they use the android_apk or android_app_bundle templates.

Also support embedders passing their own lint_suppressions_dep if their
lint suppressions file is generated. See: https://crrev.com/c/2232580

Passed through the necessary args so that embedders using
chrome_public_apk can easily pass in lint_suppressions_* variables.

Bug: 1082743
Change-Id: Idcb2f40d1fa529398a6f942e1c0687608c5dffb1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2235463
Commit-Queue: Peter Wen <wnwen@chromium.org>
Auto-Submit: Peter Wen <wnwen@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#776109}
parent 87e9a36e
...@@ -939,11 +939,16 @@ if (enable_java_templates) { ...@@ -939,11 +939,16 @@ if (enable_java_templates) {
if (defined(invoker.lint_suppressions_file)) { if (defined(invoker.lint_suppressions_file)) {
_suppressions_file = invoker.lint_suppressions_file _suppressions_file = invoker.lint_suppressions_file
} else if (defined(lint_suppressions_file)) { } else if (defined(lint_suppressions_file)) {
# WebRTC defines its own lint_suppressions_file: # DEPRECATED: Please specify invoker.lint_suppressions_file for apk
# //tools_webrtc/android/suppressions.xml # and app_bundle targets directly. This override will be removed
# when WebRTC migrates to using invoker.lint_suppressions_file.
_suppressions_file = lint_suppressions_file _suppressions_file = lint_suppressions_file
} }
if (defined(invoker.lint_suppressions_dep)) {
deps += [ invoker.lint_suppressions_dep ]
}
_min_sdk_version = default_min_sdk_version _min_sdk_version = default_min_sdk_version
if (defined(invoker.min_sdk_version)) { if (defined(invoker.min_sdk_version)) {
_min_sdk_version = invoker.min_sdk_version _min_sdk_version = invoker.min_sdk_version
......
...@@ -3363,6 +3363,8 @@ if (enable_java_templates) { ...@@ -3363,6 +3363,8 @@ if (enable_java_templates) {
android_lint(_android_lint_target) { android_lint(_android_lint_target) {
forward_variables_from(invoker, forward_variables_from(invoker,
[ [
"lint_suppressions_dep",
"lint_suppressions_file",
"manifest_package", "manifest_package",
"min_sdk_version", "min_sdk_version",
]) ])
...@@ -3371,7 +3373,12 @@ if (enable_java_templates) { ...@@ -3371,7 +3373,12 @@ if (enable_java_templates) {
deps = [ ":$_java_target" ] deps = [ ":$_java_target" ]
} }
} else { } else {
not_needed(invoker, [ "manifest_package" ]) not_needed(invoker,
[
"manifest_package",
"lint_suppressions_dep",
"lint_suppressions_file",
])
} }
group(target_name) { group(target_name) {
...@@ -3473,6 +3480,8 @@ if (enable_java_templates) { ...@@ -3473,6 +3480,8 @@ if (enable_java_templates) {
"keystore_name", "keystore_name",
"keystore_password", "keystore_password",
"keystore_path", "keystore_path",
"lint_suppressions_dep",
"lint_suppressions_file",
"load_library_from_apk", "load_library_from_apk",
"loadable_modules", "loadable_modules",
"manifest_package", "manifest_package",
...@@ -4964,16 +4973,22 @@ if (enable_java_templates) { ...@@ -4964,16 +4973,22 @@ if (enable_java_templates) {
android_lint(_android_lint_target) { android_lint(_android_lint_target) {
forward_variables_from(invoker, forward_variables_from(invoker,
[ [
"lint_suppressions_dep",
"lint_suppressions_file",
"manifest_package", "manifest_package",
"min_sdk_version", "min_sdk_version",
"lint_suppressions_file",
]) ])
build_config = _build_config build_config = _build_config
build_config_dep = ":$_build_config_target" build_config_dep = ":$_build_config_target"
deps = _module_java_targets deps = _module_java_targets
} }
} else { } else {
not_needed(invoker, [ "manifest_package" ]) not_needed(invoker,
[
"manifest_package",
"lint_suppressions_dep",
"lint_suppressions_file",
])
} }
group(_target_name) { group(_target_name) {
......
...@@ -27,9 +27,6 @@ enable_java_templates = true ...@@ -27,9 +27,6 @@ enable_java_templates = true
# ubsan_security_blacklist_path = "path/to/ubsan/security_blacklist.txt" # ubsan_security_blacklist_path = "path/to/ubsan/security_blacklist.txt"
# cfi_blacklist_path = "path/to/cfi/blacklist.txt" # cfi_blacklist_path = "path/to/cfi/blacklist.txt"
# Uncomment these to specify a different lint suppressions file for android
# lint_suppressions_file = path/to/your/suppressions/file/suppressions.xml
declare_args() { declare_args() {
# Android 32-bit non-component, non-clang builds cannot have symbol_level=2 # Android 32-bit non-component, non-clang builds cannot have symbol_level=2
# due to 4GiB file size limit, see https://crbug.com/648948. # due to 4GiB file size limit, see https://crbug.com/648948.
......
...@@ -1815,6 +1815,8 @@ template("chrome_public_apk_or_module_tmpl") { ...@@ -1815,6 +1815,8 @@ template("chrome_public_apk_or_module_tmpl") {
"is_modern", "is_modern",
"target_type", "target_type",
"enable_multidex", "enable_multidex",
"lint_suppressions_dep",
"lint_suppressions_file",
# TODO(crbug.com/1076896): remove # TODO(crbug.com/1076896): remove
# "disable_library_rename" when we remove chrome # "disable_library_rename" when we remove chrome
......
...@@ -80,6 +80,7 @@ template("chrome_bundle") { ...@@ -80,6 +80,7 @@ template("chrome_bundle") {
"keystore_name", "keystore_name",
"keystore_password", "keystore_password",
"keystore_path", "keystore_path",
"lint_suppressions_dep",
"lint_suppressions_file", "lint_suppressions_file",
"manifest_package", "manifest_package",
"min_sdk_version", "min_sdk_version",
......
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