aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java b/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
index a1454b23d2..2e5c1d56c9 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BaseRuleClasses.java
@@ -33,6 +33,7 @@ import com.google.devtools.build.lib.analysis.config.HostTransition;
import com.google.devtools.build.lib.analysis.config.RunUnder;
import com.google.devtools.build.lib.analysis.constraints.EnvironmentRule;
import com.google.devtools.build.lib.analysis.test.TestConfiguration;
+import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.Attribute.LabelLateBoundDefault;
import com.google.devtools.build.lib.packages.Attribute.LabelListLateBoundDefault;
@@ -81,6 +82,16 @@ public class BaseRuleClasses {
BuildConfiguration.class,
(rule, attributes, configuration) -> configuration.getActionListeners());
+ public static final String DEFAULT_COVERAGE_SUPPORT_VALUE = "//tools/test:coverage_support";
+
+ public static LabelLateBoundDefault<TestConfiguration> coverageSupportAttribute(
+ Label defaultValue) {
+ return LabelLateBoundDefault.fromTargetConfiguration(
+ TestConfiguration.class,
+ defaultValue,
+ (rule, attributes, configuration) -> configuration.getCoverageSupport());
+ }
+
// TODO(b/65746853): provide a way to do this without passing the entire configuration
/** Implementation for the :run_under attribute. */
@AutoCodec
@@ -151,8 +162,9 @@ public class BaseRuleClasses {
.value(env.getToolsLabel("//tools/test:collect_coverage")))
// Input files for test actions collecting code coverage
.add(
- attr("$coverage_support", LABEL)
- .value(env.getLabel("//tools/defaults:coverage_support")))
+ attr(":coverage_support", LABEL)
+ .value(
+ coverageSupportAttribute(env.getToolsLabel(DEFAULT_COVERAGE_SUPPORT_VALUE))))
// Used in the one-per-build coverage report generation action.
.add(
attr("$coverage_report_generator", LABEL)