diff options
author | 2017-03-13 22:17:39 +0000 | |
---|---|---|
committer | 2017-03-14 08:53:17 +0000 | |
commit | e3e0a0630f37e07ae50466fb8aa4eb4496744d15 (patch) | |
tree | b62b8ba6503d3e3331c606c2aed3fdbead789466 /src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java | |
parent | f26031d442ae777fb8a89e499074b236d5c6f881 (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.java | 13 |
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() |