aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2015-09-30 17:23:34 +0000
committerGravatar Florian Weikert <fwe@google.com>2015-09-30 23:45:43 +0000
commit70af6fe41b9be75768ba410b47cd513014e15c28 (patch)
treee3a0f78a6d0c592683cc945070e6389a549b77d9 /src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
parent690e6400d2046a6b9266069e9a4bc2b3aa0baee1 (diff)
Filter idl sources from AndroidStudioInfoAspect.
These java sources are already included in the idl jars. -- MOS_MIGRATED_REVID=104309944
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java18
1 files changed, 15 insertions, 3 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 a628b7cf40..c47d969643 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
@@ -408,9 +408,21 @@ public class AndroidStudioInfoAspect implements ConfiguredAspectFactory {
private static Collection<Artifact> getSources(ConfiguredTarget base) {
// Calculate source files.
JavaSourceInfoProvider sourceInfoProvider = base.getProvider(JavaSourceInfoProvider.class);
- return sourceInfoProvider != null
- ? sourceInfoProvider.getSourceFiles()
- : ImmutableList.<Artifact>of();
+ 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 PathFragment getOutputFilePath(ConfiguredTarget base, RuleContext ruleContext) {