aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhaoqing Xu <zhaoqxu@google.com>2023-09-20 11:59:41 -0700
committerCopybara-Service <copybara-worker@google.com>2023-09-20 12:00:23 -0700
commit82796b6a055ab9ef83ed5f2c33a5f86aabc87dbf (patch)
tree6252ec800e79ff54b9c5cc9702d6575e34d7cba7
parent6b3e47a2ece21c1a3ab01ec20559aa2a3c828a10 (diff)
downloadbazelbuild-rules_android-82796b6a055ab9ef83ed5f2c33a5f86aabc87dbf.tar.gz
Wire up android_neverlink_aspect in android_binary_internal
PiperOrigin-RevId: 567037864 Change-Id: Iadfb51166bbe9637703580cc1a0f3018e07270b3
-rw-r--r--rules/android_binary_internal/attrs.bzl4
-rw-r--r--rules/android_neverlink_aspect.bzl4
2 files changed, 7 insertions, 1 deletions
diff --git a/rules/android_binary_internal/attrs.bzl b/rules/android_binary_internal/attrs.bzl
index 9a2df04..e09f3e1 100644
--- a/rules/android_binary_internal/attrs.bzl
+++ b/rules/android_binary_internal/attrs.bzl
@@ -14,16 +14,17 @@
"""Attributes."""
+load("//rules:android_neverlink_aspect.bzl", "android_neverlink_aspect")
load(
"//rules:attrs.bzl",
_attrs = "attrs",
)
+load("//rules:dex_desugar_aspect.bzl", "dex_desugar_aspect")
load(
"//rules:native_deps.bzl",
"split_config_aspect",
)
load("//rules:providers.bzl", "StarlarkApkInfo")
-load("//rules:dex_desugar_aspect.bzl", "dex_desugar_aspect")
def make_deps(allow_rules, providers, aspects):
return attr.label_list(
@@ -51,6 +52,7 @@ DEPS_PROVIDERS = [
DEPS_ASPECTS = [
dex_desugar_aspect,
+ android_neverlink_aspect,
]
ATTRS = _attrs.replace(
diff --git a/rules/android_neverlink_aspect.bzl b/rules/android_neverlink_aspect.bzl
index 1dab304..672bd3a 100644
--- a/rules/android_neverlink_aspect.bzl
+++ b/rules/android_neverlink_aspect.bzl
@@ -18,6 +18,7 @@ Used for determining the -libraryjars argument for Proguard. The compile-time cl
unsufficient here as those are ijars.
"""
+load("//rules:acls.bzl", "acls")
load(
"//rules:utils.bzl",
"utils",
@@ -33,6 +34,9 @@ StarlarkAndroidNeverlinkInfo = provider(
_ATTRS = ["deps", "exports", "runtime_deps", "binary_under_test", "$instrumentation_test_runner"]
def _android_neverlink_aspect_impl(target, ctx):
+ if not acls.in_android_binary_starlark_dex_desugar_proguard(str(ctx.label)):
+ return []
+
# Only run on Android targets
if "android" not in getattr(ctx.rule.attr, "constraints", "") and not ctx.rule.kind.startswith("android_"):
return []