diff options
author | Zhaoqing Xu <zhaoqxu@google.com> | 2023-09-20 11:59:41 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2023-09-20 12:00:23 -0700 |
commit | 82796b6a055ab9ef83ed5f2c33a5f86aabc87dbf (patch) | |
tree | 6252ec800e79ff54b9c5cc9702d6575e34d7cba7 | |
parent | 6b3e47a2ece21c1a3ab01ec20559aa2a3c828a10 (diff) | |
download | bazelbuild-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.bzl | 4 | ||||
-rw-r--r-- | rules/android_neverlink_aspect.bzl | 4 |
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 [] |