Only collect source files from attributes that don't have instrumentation data.
This fixes a recent regression in coverage; it's currently collecting too
many files for instrumentation for non-compiled languages.
--
MOS_MIGRATED_REVID=103089788
diff --git a/src/main/java/com/google/devtools/build/lib/rules/test/InstrumentedFilesCollector.java b/src/main/java/com/google/devtools/build/lib/rules/test/InstrumentedFilesCollector.java
index 8b343f3..e61cafa 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/test/InstrumentedFilesCollector.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/test/InstrumentedFilesCollector.java
@@ -84,6 +84,9 @@
if (shouldIncludeLocalSources(ruleContext)) {
NestedSetBuilder<Artifact> localSourcesBuilder = NestedSetBuilder.stableOrder();
for (TransitiveInfoCollection dep : prereqs) {
+ if (dep.getProvider(InstrumentedFilesProvider.class) != null) {
+ continue;
+ }
for (Artifact artifact : dep.getProvider(FileProvider.class).getFilesToBuild()) {
if (artifact.isSourceArtifact() &&
spec.instrumentedFileTypes.matches(artifact.getFilename())) {