diff options
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java b/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java index 8f29d09ae8..12c47a9dab 100644 --- a/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java +++ b/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java @@ -386,6 +386,10 @@ public class AndroidStudioInfoAspect extends NativeAspectClass implements Config if (attr != null) { builder.setSize(attr); } + Collection<Artifact> data = getDataListAttribute(ruleContext, "data"); + for (Artifact artifact : data) { + builder.addData(makeArtifactLocation(artifact)); + } outputBuilder.setTestInfo(builder); } @@ -797,6 +801,20 @@ public class AndroidStudioInfoAspect extends NativeAspectClass implements Config return getStringListAttribute(ruleContext, "copts"); } + private static boolean hasDataModeAttribute(RuleContext ruleContext, + String attributeName, Type<?> type) { + return ruleContext.attributes().has(attributeName, type) + && ruleContext.getAttributeMode(attributeName) == Mode.DATA; + } + + private static Collection<Artifact> getDataListAttribute(RuleContext ruleContext, + String attributeName) { + return hasDataModeAttribute(ruleContext, attributeName, BuildType.LABEL_LIST) + ? ruleContext.getPrerequisiteArtifacts(attributeName, Mode.DATA).list() + : ImmutableList.<Artifact>of(); + } + + private static Collection<Artifact> getTargetListAttribute(RuleContext ruleContext, String attributeName) { return (ruleContext.attributes().has(attributeName, BuildType.LABEL_LIST) |