Change the way sources are gathered for ASwB aspect.

This fixes android_resources being dropped on the ground because the
source jar isn't included.

Previously, the java compilation args were used. This includes a bunch
of implicit and generated source, like idl sources. The source jars
include output from resource processing the rule itself, so it wasn't
possible to start including that.

What we want are all explicit sources only. This CL does that.

--
MOS_MIGRATED_REVID=105624870
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 4ac74cb..ee6e12a 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
@@ -232,7 +232,7 @@
         || ruleKind == Kind.ANDROID_BINARY
         || ruleKind == Kind.ANDROID_TEST
         || ruleKind == Kind.ANDROID_ROBOELECTRIC_TEST) {
-      outputBuilder.setJavaRuleIdeInfo(makeJavaRuleIdeInfo(base, ideResolveArtifacts));
+      outputBuilder.setJavaRuleIdeInfo(makeJavaRuleIdeInfo(base, ruleContext, ideResolveArtifacts));
     }
     if (ruleKind == Kind.ANDROID_LIBRARY
         || ruleKind == Kind.ANDROID_BINARY
@@ -375,6 +375,7 @@
 
   private static JavaRuleIdeInfo makeJavaRuleIdeInfo(
       ConfiguredTarget base,
+      RuleContext ruleContext,
       NestedSetBuilder<Artifact> ideResolveArtifacts) {
     JavaRuleIdeInfo.Builder builder = JavaRuleIdeInfo.newBuilder();
     JavaRuleOutputJarsProvider outputJarsProvider =
@@ -396,7 +397,7 @@
       collectGenJars(builder, ideResolveArtifacts, genJarsProvider);
     }
 
-    Collection<Artifact> sourceFiles = getSources(base);
+    Collection<Artifact> sourceFiles = getSources(ruleContext);
 
     for (Artifact sourceFile : sourceFiles) {
       builder.addSources(makeArtifactLocation(sourceFile));
@@ -494,24 +495,10 @@
     }
   }
 
-  private static Collection<Artifact> getSources(ConfiguredTarget base) {
-    // Calculate source files.
-    JavaSourceInfoProvider sourceInfoProvider = base.getProvider(JavaSourceInfoProvider.class);
-    if (sourceInfoProvider == null) {
-      return ImmutableList.of();
-    }
-    AndroidIdeInfoProvider androidIdeInfoProvider = base.getProvider(AndroidIdeInfoProvider.class);
-    if (androidIdeInfoProvider == null) {
-      return sourceInfoProvider.getSourceFiles();
-    }
-    ImmutableList.Builder<Artifact> builder = ImmutableList.builder();
-    Collection<Artifact> idlGeneratedJavaFiles = androidIdeInfoProvider.getIdlGeneratedJavaFiles();
-    for (Artifact artifact : sourceInfoProvider.getSourceFiles()) {
-      if (!idlGeneratedJavaFiles.contains(artifact)) {
-        builder.add(artifact);
-      }
-    }
-    return builder.build();
+  private static Collection<Artifact> getSources(RuleContext ruleContext) {
+    return ruleContext.attributes().has("srcs", BuildType.LABEL_LIST)
+        ? ruleContext.getPrerequisiteArtifacts("srcs", Mode.TARGET).list()
+        : ImmutableList.<Artifact>of();
   }
 
   private static PathFragment getOutputFilePath(ConfiguredTarget base, RuleContext ruleContext,