diff options
author | Lukacs Berki <lberki@google.com> | 2016-07-27 08:16:20 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2016-07-27 11:15:20 +0000 |
commit | add1b3036f3dbfa7f143ba47eaa8579ef6f58bb0 (patch) | |
tree | a57b4dfd1e3c5ebbdd69f77e67a7dd5b8d19613a /src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java | |
parent | ddb6a1f2671f3c2c36090a61609054287b7e44ba (diff) |
Pass the coverage environment into tests using a nested set collected from the transitive closure instead of having a global environment in the configuration.
--
MOS_MIGRATED_REVID=128559756
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java index 5b0847db7a..082d469810 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java @@ -22,6 +22,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; +import com.google.devtools.build.lib.util.Pair; import com.google.devtools.build.lib.util.Preconditions; import com.google.devtools.build.lib.vfs.PathFragment; @@ -57,7 +58,8 @@ public final class CcToolchainProvider implements TransitiveInfoProvider { false, false, ImmutableMap.<String, String>of(), - ImmutableList.<Artifact>of()); + ImmutableList.<Artifact>of(), + NestedSetBuilder.<Pair<String, String>>emptySet(Order.COMPILE_ORDER)); @Nullable private final CppConfiguration cppConfiguration; private final NestedSet<Artifact> crosstool; @@ -78,6 +80,7 @@ public final class CcToolchainProvider implements TransitiveInfoProvider { private final boolean supportsHeaderParsing; private final Map<String, String> buildVariables; private final ImmutableList<Artifact> builtinIncludeFiles; + private final NestedSet<Pair<String, String>> coverageEnvironment; public CcToolchainProvider( @Nullable CppConfiguration cppConfiguration, @@ -98,7 +101,8 @@ public final class CcToolchainProvider implements TransitiveInfoProvider { boolean supportsParamFiles, boolean supportsHeaderParsing, Map<String, String> buildVariables, - ImmutableList<Artifact> builtinIncludeFiles) { + ImmutableList<Artifact> builtinIncludeFiles, + NestedSet<Pair<String, String>> coverageEnvironment) { this.cppConfiguration = cppConfiguration; this.crosstool = Preconditions.checkNotNull(crosstool); this.crosstoolMiddleman = Preconditions.checkNotNull(crosstoolMiddleman); @@ -118,6 +122,7 @@ public final class CcToolchainProvider implements TransitiveInfoProvider { this.supportsHeaderParsing = supportsHeaderParsing; this.buildVariables = buildVariables; this.builtinIncludeFiles = builtinIncludeFiles; + this.coverageEnvironment = coverageEnvironment; } /** @@ -263,4 +268,11 @@ public final class CcToolchainProvider implements TransitiveInfoProvider { public ImmutableList<Artifact> getBuiltinIncludeFiles() { return builtinIncludeFiles; } + + /** + * Returns the environment variables that need to be added to tests that collect code coverage. + */ + public NestedSet<Pair<String, String>> getCoverageEnvironment() { + return coverageEnvironment; + } } |