diff options
author | 2015-05-29 10:06:30 +0000 | |
---|---|---|
committer | 2015-05-29 10:54:35 +0000 | |
commit | ac4f942bf0c0d5c61125650784dca67b65268506 (patch) | |
tree | 2903967c1518979b41a085ec798a1fdbe9a7e02f /src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java | |
parent | 1ae987e689f78ae5941e93f1a3ee1323630051cf (diff) |
Use an aspect to calculate the Android neverlink libraries.
This cuts the .java -> .android dependency between Java packages, which is nice at the cost of some cavalier over-estimation of the direct dependencies in AndroidNeverlinkAspect.
--
MOS_MIGRATED_REVID=94745544
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java index 6664288934..f859fc47e7 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java @@ -45,6 +45,7 @@ import com.google.devtools.build.lib.packages.RuleClass.Builder; import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType; import com.google.devtools.build.lib.packages.TriState; import com.google.devtools.build.lib.packages.Type; +import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider; import com.google.devtools.build.lib.rules.java.JavaSemantics; import com.google.devtools.build.lib.syntax.Label; import com.google.devtools.build.lib.util.FileType; @@ -551,8 +552,11 @@ public final class AndroidRuleClasses { <code>cc_library</code> wrapping or producing <code>.so</code> native libraries for the Android target platform. <!-- #END_BLAZE_RULE.ATTRIBUTE --> */ - .override(builder.copy("deps").cfg(ANDROID_SPLIT_TRANSITION) - .allowedRuleClasses(ALLOWED_DEPENDENCIES).allowedFileTypes()) + .override(builder.copy("deps") + .cfg(ANDROID_SPLIT_TRANSITION) + .allowedRuleClasses(ALLOWED_DEPENDENCIES) + .allowedFileTypes() + .aspect(AndroidNeverlinkAspect.class)) // Proguard rule specifying master list of classes to keep during legacy multidexing. .add(attr("$build_incremental_dexmanifest", LABEL).cfg(HOST).exec() .value(env.getLabel(AndroidRuleClasses.BUILD_INCREMENTAL_DEXMANIFEST_LABEL))) @@ -664,6 +668,7 @@ com/google/common/base/Objects.class </ul> <!-- #END_BLAZE_RULE.ATTRIBUTE --> */ .add(attr("legacy_native_support", TRISTATE).value(TriState.AUTO)) + .advertiseProvider(JavaCompilationArgsProvider.class) .build(); } |