diff options
author | 2015-02-11 00:18:07 +0000 | |
---|---|---|
committer | 2015-02-11 00:18:07 +0000 | |
commit | cdc90e9279fdd127720cb0bf8548ce3e1b4f6042 (patch) | |
tree | a6796726dbe7c59a36ed38f548c2824adeed03ef /src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportFunction.java | |
parent | a242f210e6584a4fbe2b29e2ca42e94dbb843552 (diff) |
As a follow up to []. This changelist creates an intermediary FileWriteAction to store the list of lcov files in a file before calling the code coverage report binary.
Cleanup on the COVERAGE_REPORT to support multiple actions.
RELNOTES: HTML code coverage report fix for large targets.
--
MOS_MIGRATED_REVID=86033675
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportFunction.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportFunction.java index 8d6fe3d684..19802e3a01 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportFunction.java @@ -15,7 +15,10 @@ package com.google.devtools.build.lib.skyframe; import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.actions.Action; +import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; @@ -32,14 +35,20 @@ public class CoverageReportFunction implements SkyFunction { CoverageReportValue.SKY_KEY.equals(skyKey), String.format( "Expected %s for SkyKey but got %s instead", CoverageReportValue.SKY_KEY, skyKey)); - Action action = PrecomputedValue.COVERAGE_REPORT_KEY.get(env); - if (action == null) { + ImmutableList <Action> actions = PrecomputedValue.COVERAGE_REPORT_KEY.get(env); + if (actions == null) { return null; } + ImmutableSet.Builder<Artifact> outputs = new ImmutableSet.Builder<>(); + + for (Action action : actions) { + outputs.addAll(action.getOutputs()); + } + return new CoverageReportValue( - action.getOutputs(), - action); + outputs.build(), + actions); } @Override |