aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java
diff options
context:
space:
mode:
authorGravatar Cal Peyser <cpeyser@google.com>2017-03-13 22:17:39 +0000
committerGravatar Yun Peng <pcloudy@google.com>2017-03-14 08:53:17 +0000
commite3e0a0630f37e07ae50466fb8aa4eb4496744d15 (patch)
treeb62b8ba6503d3e3331c606c2aed3fdbead789466 /src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java
parentf26031d442ae777fb8a89e499074b236d5c6f881 (diff)
Implement coverage support for experimental_objc_library
-- PiperOrigin-RevId: 149997687 MOS_MIGRATED_REVID=149997687
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java
index 81cb9ed82b..612d81d285 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java
@@ -74,6 +74,11 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
private static final String OBJC_MODULE_FEATURE_NAME = "use_objc_modules";
private static final String NO_ENABLE_MODULES_FEATURE_NAME = "no_enable_modules";
private static final String DEAD_STRIP_FEATURE_NAME = "dead_strip";
+ private static final String RUN_COVERAGE_FEATURE_NAME = "run_coverage";
+ /** Produce artifacts for coverage in llvm coverage mapping format. */
+ private static final String LLVM_COVERAGE_MAP_FORMAT = "llvm_coverage_map_format";
+ /** Produce artifacts for coverage in gcc coverage mapping format. */
+ private static final String GCC_COVERAGE_MAP_FORMAT = "gcc_coverage_map_format";
private static final Iterable<String> ACTIVATED_ACTIONS =
ImmutableList.of(
@@ -376,6 +381,14 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
&& ruleContext.getPrerequisiteArtifact("pch", Mode.TARGET) != null) {
activatedCrosstoolSelectables.add("pch");
}
+ if (configuration.isCodeCoverageEnabled()) {
+ activatedCrosstoolSelectables.add(RUN_COVERAGE_FEATURE_NAME);
+ }
+ if (configuration.isLLVMCoverageMapFormatEnabled()) {
+ activatedCrosstoolSelectables.add(LLVM_COVERAGE_MAP_FORMAT);
+ } else {
+ activatedCrosstoolSelectables.add(GCC_COVERAGE_MAP_FORMAT);
+ }
return configuration
.getFragment(CppConfiguration.class)
.getFeatures()