diff options
author | 2015-08-31 13:41:45 +0000 | |
---|---|---|
committer | 2015-08-31 19:15:44 +0000 | |
commit | ff62b9b8d3ecd0c05cff6a7d8edfd63cd16117ee (patch) | |
tree | 1d5a59f970b023f50e595629eacdeee5e8efe1b9 /src/main/java/com/google/devtools/build/lib/rules/test/InstrumentedFilesCollector.java | |
parent | c9fa70824299e489d5b7b8328877fda4a10f49ba (diff) |
Create baseline coverage actions for local sources only and aggregate.
We no longer generate baseline coverage for all transitive source files in
every target; instead, we generate baseline coverage for the files in the
current target and collect all of them transitively. That means much smaller
but more baseline coverage files; the total content is smaller if you were
providing more than one target with overlapping transitive closures on the
command line.
In addition, we now collect baseline coverage for all targets in the transitive
closure of the top-level targets. Previously, if you only passed test targets,
you would not get any baseline coverage.
--
MOS_MIGRATED_REVID=101929897
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/test/InstrumentedFilesCollector.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/test/InstrumentedFilesCollector.java | 14 |
1 files changed, 6 insertions, 8 deletions
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 ecafce22af..8b343f3a1e 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 @@ -65,6 +65,7 @@ public final class InstrumentedFilesCollector { NestedSetBuilder<Artifact> instrumentedFilesBuilder = NestedSetBuilder.stableOrder(); NestedSetBuilder<Artifact> metadataFilesBuilder = NestedSetBuilder.stableOrder(); + NestedSetBuilder<Artifact> baselineCoverageArtifactsBuilder = NestedSetBuilder.stableOrder(); Iterable<TransitiveInfoCollection> prereqs = getAllPrerequisites(ruleContext, spec); @@ -74,6 +75,7 @@ public final class InstrumentedFilesCollector { if (provider != null) { instrumentedFilesBuilder.addTransitive(provider.getInstrumentedFiles()); metadataFilesBuilder.addTransitive(provider.getInstrumentationMetadataFiles()); + baselineCoverageArtifactsBuilder.addTransitive(provider.getBaselineCoverageArtifacts()); } } @@ -100,17 +102,13 @@ public final class InstrumentedFilesCollector { } // Baseline coverage actions. - NestedSet<Artifact> instrumentedFiles = instrumentedFilesBuilder.build(); - NestedSet<Artifact> baselineCoverageArtifacts; if (withBaselineCoverage) { - baselineCoverageArtifacts = - BaselineCoverageAction.getBaselineCoverageArtifacts(ruleContext, instrumentedFiles); - } else { - baselineCoverageArtifacts = NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER); + baselineCoverageArtifactsBuilder.addTransitive( + BaselineCoverageAction.getBaselineCoverageArtifacts(ruleContext, localSources)); } - return new InstrumentedFilesProviderImpl(instrumentedFiles, + return new InstrumentedFilesProviderImpl(instrumentedFilesBuilder.build(), metadataFilesBuilder.build(), - baselineCoverageArtifacts, + baselineCoverageArtifactsBuilder.build(), ImmutableMap.<String, String>of()); } |