diff options
author | 2015-09-30 17:23:34 +0000 | |
---|---|---|
committer | 2015-09-30 23:45:43 +0000 | |
commit | 70af6fe41b9be75768ba410b47cd513014e15c28 (patch) | |
tree | e3a0f78a6d0c592683cc945070e6389a549b77d9 /src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java | |
parent | 690e6400d2046a6b9266069e9a4bc2b3aa0baee1 (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.java | 18 |
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) { |