aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Jon Brandvein <brandjon@google.com>2017-03-03 00:09:36 +0000
committerGravatar Yue Gan <yueg@google.com>2017-03-03 10:38:28 +0000
commit65a9bc9a79a660291210719862bc194a87311943 (patch)
tree35581d0b8c72b1698011696a220a7205d8da21bb /src/main/java/com/google/devtools/build
parentf9bbc9573fc80fce1ff73f7ae508c7a3b50c66aa (diff)
*** 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')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidIdlHelper.java26
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java2
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 =