From 70af6fe41b9be75768ba410b47cd513014e15c28 Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 30 Sep 2015 17:23:34 +0000 Subject: Filter idl sources from AndroidStudioInfoAspect. These java sources are already included in the idl jars. -- MOS_MIGRATED_REVID=104309944 --- .../build/lib/ideinfo/AndroidStudioInfoAspect.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java') 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 getSources(ConfiguredTarget base) { // Calculate source files. JavaSourceInfoProvider sourceInfoProvider = base.getProvider(JavaSourceInfoProvider.class); - return sourceInfoProvider != null - ? sourceInfoProvider.getSourceFiles() - : ImmutableList.of(); + if (sourceInfoProvider == null) { + return ImmutableList.of(); + } + AndroidIdeInfoProvider androidIdeInfoProvider = base.getProvider(AndroidIdeInfoProvider.class); + if (androidIdeInfoProvider == null) { + return sourceInfoProvider.getSourceFiles(); + } + ImmutableList.Builder builder = ImmutableList.builder(); + Collection 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) { -- cgit v1.2.3