diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java index 6b71ae01eb..b93a26bc22 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java @@ -72,6 +72,7 @@ import com.google.devtools.build.lib.analysis.actions.SpawnAction; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; 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.packages.BuildType; import com.google.devtools.build.lib.packages.ImplicitOutputsFunction.SafeImplicitOutputsFunction; @@ -853,6 +854,15 @@ public final class CompilationSupport { return this; } + private NestedSet<Artifact> getGcovForObjectiveCIfNeeded() { + if (ruleContext.getConfiguration().isCodeCoverageEnabled() + && ruleContext.attributes().has(IosTest.OBJC_GCOV_ATTR, BuildType.LABEL)) { + return PrerequisiteArtifacts.nestedSet(ruleContext, IosTest.OBJC_GCOV_ATTR, Mode.HOST); + } else { + return NestedSetBuilder.emptySet(Order.STABLE_ORDER); + } + } + /** * Returns a provider that collects this target's instrumented sources as well as those of its * dependencies. @@ -875,6 +885,7 @@ public final class CompilationSupport { INSTRUMENTATION_SPEC, new ObjcCoverageMetadataCollector(), oFiles.build(), + getGcovForObjectiveCIfNeeded(), !TargetUtils.isTestRule(ruleContext.getTarget())); } |