diff options
author | Jon Brandvein <brandjon@google.com> | 2017-03-03 00:09:36 +0000 |
---|---|---|
committer | Yue Gan <yueg@google.com> | 2017-03-03 10:38:28 +0000 |
commit | 65a9bc9a79a660291210719862bc194a87311943 (patch) | |
tree | 35581d0b8c72b1698011696a220a7205d8da21bb /src/main/java/com/google/devtools/build | |
parent | f9bbc9573fc80fce1ff73f7ae508c7a3b50c66aa (diff) |
Rollback of commit e450c00bf487c711f9b0615e9eb89980c5732b4a.
*** Reason for rollback ***
Breaks nightly, see [].
*** Original change description ***
Inject aidl_lib only to android_library targets that have idl_srcs
--
PiperOrigin-RevId: 149059892
MOS_MIGRATED_REVID=149059892
Diffstat (limited to 'src/main/java/com/google/devtools/build')
3 files changed, 12 insertions, 20 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java index 9c68fd261c..d12728a79d 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java @@ -961,7 +961,9 @@ public class AndroidCommon { if (useDataBinding) { compileDeps = DataBinding.addSupportLibs(ruleContext, compileDeps); } - compileDeps = AndroidIdlHelper.maybeAddSupportLibs(ruleContext, compileDeps); + if (AndroidIdlHelper.hasIdlSrcs(ruleContext)) { + compileDeps = AndroidIdlHelper.addSupportLibs(ruleContext, compileDeps); + } runtimeDeps = JavaCommon.defaultDeps(ruleContext, semantics, ClasspathType.RUNTIME_ONLY); bothDeps = JavaCommon.defaultDeps(ruleContext, semantics, ClasspathType.BOTH); } else { diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java index 1f8b0b64b3..e7553e0c99 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java @@ -155,17 +155,14 @@ public class AndroidIdlHelper { } public static boolean hasIdlSrcs(RuleContext ruleContext) { - return !getIdlSrcs(ruleContext).isEmpty(); + return ruleContext.getRule().isAttrDefined("idl_srcs", BuildType.LABEL_LIST); } /** * Returns a new list with the idl libs added to the given list if necessary, or the same list. */ - public static ImmutableList<TransitiveInfoCollection> maybeAddSupportLibs(RuleContext ruleContext, + public static ImmutableList<TransitiveInfoCollection> addSupportLibs(RuleContext ruleContext, ImmutableList<TransitiveInfoCollection> deps) { - if (!hasIdlSrcs(ruleContext)) { - return deps; - } TransitiveInfoCollection aidlLib = AndroidSdkProvider.fromRuleContext(ruleContext).getAidlLib(); if (aidlLib == null) { return deps; @@ -176,20 +173,13 @@ public class AndroidIdlHelper { .build(); } - public static void maybeAddSupportLibProguardConfigs(RuleContext ruleContext, - NestedSetBuilder<Artifact> proguardConfigsBuilder) { - if (!hasIdlSrcs(ruleContext)) { - return; - } + public static void addSupportLibProguardConfigs(RuleContext ruleContext, + NestedSetBuilder<Artifact> proguardConfigsbuilder) { TransitiveInfoCollection aidlLib = AndroidSdkProvider.fromRuleContext(ruleContext).getAidlLib(); - if (aidlLib == null) { - return; + if (aidlLib != null) { + proguardConfigsbuilder.addTransitive( + aidlLib.getProvider(ProguardSpecProvider.class).getTransitiveProguardSpecs()); } - ProguardSpecProvider provider = aidlLib.getProvider(ProguardSpecProvider.class); - if (provider == null) { - return; - } - proguardConfigsBuilder.addTransitive(provider.getTransitiveProguardSpecs()); } /** @@ -215,7 +205,7 @@ public class AndroidIdlHelper { * Returns the idl_srcs defined on the given rule. */ private static Collection<Artifact> getIdlSrcs(RuleContext ruleContext) { - if (!ruleContext.getRule().isAttrDefined("idl_srcs", BuildType.LABEL_LIST)) { + if (!hasIdlSrcs(ruleContext)) { return ImmutableList.of(); } checkIdlSrcsSamePackage(ruleContext); 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 2a453da46a..a3ab7878b9 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 @@ -59,7 +59,7 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { NestedSetBuilder<Artifact> proguardConfigsbuilder = NestedSetBuilder.stableOrder(); proguardConfigsbuilder.addTransitive(new ProguardLibrary(ruleContext).collectProguardSpecs()); - AndroidIdlHelper.maybeAddSupportLibProguardConfigs(ruleContext, proguardConfigsbuilder); + AndroidIdlHelper.addSupportLibProguardConfigs(ruleContext, proguardConfigsbuilder); NestedSet<Artifact> transitiveProguardConfigs = proguardConfigsbuilder.build(); JavaCommon javaCommon = |