diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidCommon.java | 11 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidLibrary.java | 9 |
2 files changed, 13 insertions, 7 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 11c9b0b7e0..4b1262a343 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 @@ -103,6 +103,17 @@ public class AndroidCommon { return builder.build(); } + public static final Iterable<TransitiveInfoCollection> collectTransitiveInfo( + RuleContext ruleContext, Mode mode) { + ImmutableList.Builder<TransitiveInfoCollection> builder = ImmutableList.builder(); + for (String attr : TRANSITIVE_ATTRIBUTES) { + if (ruleContext.getAttribute(attr) != null) { + builder.addAll(ruleContext.getPrerequisites(attr, mode)); + } + } + return builder.build(); + } + private final RuleContext ruleContext; private final JavaCommon javaCommon; private final boolean asNeverLink; 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 565162b22e..9cb6d2d73c 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 @@ -21,7 +21,6 @@ import com.google.devtools.build.lib.analysis.OutputGroupProvider; import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder; import com.google.devtools.build.lib.analysis.RuleContext; -import com.google.devtools.build.lib.analysis.TransitiveInfoCollection; import com.google.devtools.build.lib.analysis.config.CompilationMode; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; @@ -43,8 +42,6 @@ import com.google.devtools.build.lib.rules.java.ProguardSpecProvider; import com.google.devtools.build.lib.syntax.Type; import com.google.devtools.build.lib.vfs.PathFragment; -import java.util.List; - /** * An implementation for the "android_library" rule. */ @@ -60,12 +57,11 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { if (!AndroidSdkProvider.verifyPresence(ruleContext)) { return null; } - List<? extends TransitiveInfoCollection> deps = - ruleContext.getPrerequisites("deps", Mode.TARGET); checkResourceInlining(ruleContext); NestedSetBuilder<Aar> transitiveAars = collectTransitiveAars(ruleContext); NestedSet<LinkerInput> transitiveNativeLibraries = - AndroidCommon.collectTransitiveNativeLibraries(deps); + AndroidCommon.collectTransitiveNativeLibraries( + AndroidCommon.collectTransitiveInfo(ruleContext, Mode.TARGET)); NestedSet<Artifact> transitiveProguardConfigs = new ProguardLibrary(ruleContext).collectProguardSpecs(); JavaCommon javaCommon = new JavaCommon(ruleContext, javaSemantics); @@ -222,4 +218,3 @@ public abstract class AndroidLibrary implements RuleConfiguredTargetFactory { return builder; } } - |