diff options
author | Googler <noreply@google.com> | 2016-08-26 20:26:37 +0000 |
---|---|---|
committer | John Cater <jcater@google.com> | 2016-08-27 00:36:14 +0000 |
commit | 629b4889e456b43692890e0e0e23d59237475c16 (patch) | |
tree | 1b531b7f8e3b450a5c24a87e59bd6b8db0c2aba9 /src/main/java/com/google/devtools | |
parent | 60f919cb22e8c26564668c09eac754b54b624f45 (diff) |
Don't provide AARs for deps that are neverlink or that of their transitive
dependencies.
--
MOS_MIGRATED_REVID=131434655
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java index 33c423e5db..8867d77d8f 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java @@ -185,22 +185,26 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { androidSemantics.addTransitiveInfoProviders( builder, ruleContext, javaCommon, androidCommon, null); - return builder - .add(AndroidNativeLibraryProvider.class, - new AndroidNativeLibraryProvider(transitiveNativeLibraries)) - .add(JavaNeverlinkInfoProvider.class, - new JavaNeverlinkInfoProvider(androidCommon.isNeverLink())) - .add(JavaSourceInfoProvider.class, - JavaSourceInfoProvider.fromJavaTargetAttributes(javaTargetAttributes, javaSemantics)) - .add(JavaSourceJarsProvider.class, androidCommon.getJavaSourceJarsProvider()) - .add(AndroidCcLinkParamsProvider.class, - new AndroidCcLinkParamsProvider(androidCommon.getCcLinkParamsStore())) - .add(JavaPluginInfoProvider.class, JavaCommon.getTransitivePlugins(ruleContext)) - .add(ProguardSpecProvider.class, new ProguardSpecProvider(transitiveProguardConfigs)) - .addOutputGroup(OutputGroupProvider.HIDDEN_TOP_LEVEL, transitiveProguardConfigs) - .add(AndroidLibraryAarProvider.class, new AndroidLibraryAarProvider( - aar, transitiveAars.build())) - .build(); + builder + .add(AndroidNativeLibraryProvider.class, + new AndroidNativeLibraryProvider(transitiveNativeLibraries)) + .add(JavaNeverlinkInfoProvider.class, + new JavaNeverlinkInfoProvider(androidCommon.isNeverLink())) + .add(JavaSourceInfoProvider.class, + JavaSourceInfoProvider.fromJavaTargetAttributes(javaTargetAttributes, javaSemantics)) + .add(JavaSourceJarsProvider.class, androidCommon.getJavaSourceJarsProvider()) + .add(AndroidCcLinkParamsProvider.class, + new AndroidCcLinkParamsProvider(androidCommon.getCcLinkParamsStore())) + .add(JavaPluginInfoProvider.class, JavaCommon.getTransitivePlugins(ruleContext)) + .add(ProguardSpecProvider.class, new ProguardSpecProvider(transitiveProguardConfigs)) + .addOutputGroup(OutputGroupProvider.HIDDEN_TOP_LEVEL, transitiveProguardConfigs); + + if (!JavaCommon.isNeverLink(ruleContext)) { + builder.add(AndroidLibraryAarProvider.class, + new AndroidLibraryAarProvider(aar, transitiveAars.build())); + } + + return builder.build(); } private void checkResourceInlining(RuleContext ruleContext) { |