aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Peter Schmitt <schmitt@google.com>2016-01-27 20:42:17 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-01-28 15:29:54 +0000
commit03e89a9f5430643f5c443af21792984e5b7fc962 (patch)
treebed5a04fd95e6df0df0c6e6389f239e8e4606df3 /src
parent25b38ac9a127b5ed31e764311c52db38dec7f442 (diff)
Always declare dependency on xcode gcov.
RELNOTES[INC]: Removes --objc_gcov_binary flag. -- MOS_MIGRATED_REVID=113190035
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java17
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java17
3 files changed, 9 insertions, 34 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
index 7f2d7ffe98..9cd86248f7 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
@@ -836,12 +836,6 @@ public final class BuildConfiguration {
)
public List<Label> targetEnvironments;
- @Option(name = "objc_gcov_binary",
- converter = ToolsLabelConverter.class,
- defaultValue = "//third_party/gcov:gcov_for_xcode_osx",
- category = "undocumented")
- public Label objcGcovBinary;
-
/** Converter for labels in the @bazel_tools repository. The @Options' defaultValues can't
* prepend TOOLS_REPOSITORY, unfortunately, because then the compiler thinks they're not
* constant. */
@@ -913,9 +907,6 @@ public final class BuildConfiguration {
if ((runUnder != null) && (runUnder.getLabel() != null)) {
labelMap.put("RunUnder", runUnder.getLabel());
}
- if (collectCodeCoverage) {
- labelMap.put("objc_gcov", objcGcovBinary);
- }
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java
index 141258a44f..191d91883e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosTestRule.java
@@ -28,7 +28,7 @@ import com.google.devtools.build.lib.analysis.RuleDefinition;
import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
-import com.google.devtools.build.lib.packages.Attribute;
+import com.google.devtools.build.lib.packages.Attribute.ComputedDefault;
import com.google.devtools.build.lib.packages.Attribute.LateBoundLabelList;
import com.google.devtools.build.lib.packages.AttributeMap;
import com.google.devtools.build.lib.packages.ImplicitOutputsFunction;
@@ -47,6 +47,10 @@ import java.util.List;
*/
public class IosTestRule implements RuleDefinition {
+ private static final ImmutableList<Label> GCOV =
+ ImmutableList.of(
+ Label.parseAbsoluteUnchecked(Constants.TOOLS_REPOSITORY + "//tools/objc:gcov"));
+
@Override
public RuleClass build(RuleClass.Builder builder, final RuleDefinitionEnvironment env) {
return builder
@@ -86,7 +90,7 @@ public class IosTestRule implements RuleDefinition {
.add(
attr(IosTest.XCTEST_APP, LABEL)
.value(
- new Attribute.ComputedDefault(IosTest.IS_XCTEST) {
+ new ComputedDefault(IosTest.IS_XCTEST) {
@Override
public Object getDefault(AttributeMap rule) {
return rule.get(IosTest.IS_XCTEST, Type.BOOLEAN)
@@ -103,7 +107,7 @@ public class IosTestRule implements RuleDefinition {
.override(
attr("infoplist", LABEL)
.value(
- new Attribute.ComputedDefault(IosTest.IS_XCTEST) {
+ new ComputedDefault(IosTest.IS_XCTEST) {
@Override
public Object getDefault(AttributeMap rule) {
return rule.get(IosTest.IS_XCTEST, Type.BOOLEAN)
@@ -154,16 +158,13 @@ public class IosTestRule implements RuleDefinition {
attr(":gcov", LABEL_LIST)
.cfg(HOST)
.value(
- new LateBoundLabelList<BuildConfiguration>() {
+ new LateBoundLabelList<BuildConfiguration>(GCOV) {
@Override
public List<Label> getDefault(Rule rule, BuildConfiguration configuration) {
if (!configuration.isCodeCoverageEnabled()) {
return ImmutableList.of();
}
- return ImmutableList.of(
- configuration
- .getFragment(ObjcConfiguration.class)
- .getGcovLabel());
+ return GCOV;
}
}))
.build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java
index 7b3584ce52..53a36ab756 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java
@@ -20,7 +20,6 @@ import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.config.CompilationMode;
-import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.rules.apple.DottedVersion;
import com.google.devtools.build.lib.rules.objc.ReleaseBundlingSupport.SplitArchTransition.ConfigurationDistinguisher;
import com.google.devtools.build.lib.util.Preconditions;
@@ -63,13 +62,6 @@ public class ObjcConfiguration extends BuildConfiguration.Fragment {
private final String xcodeOverrideWorkspaceRoot;
private final boolean useAbsolutePathsForActions;
- // We only load these labels if the mode which uses them is enabled. That is known as part of the
- // BuildConfiguration. This label needs to be part of a configuration because only configurations
- // can conditionally cause loading.
- // They are referenced from late bound attributes, and if loading wasn't forced in a
- // configuration, the late bound attribute will fail to be initialized because it hasn't been
- // loaded.
- @Nullable private final Label gcovLabel;
ObjcConfiguration(ObjcCommandLineOptions objcOptions, BuildConfiguration.Options options,
@Nullable BlazeDirectories directories) {
@@ -82,7 +74,6 @@ public class ObjcConfiguration extends BuildConfiguration.Fragment {
this.runMemleaks = objcOptions.runMemleaks;
this.copts = ImmutableList.copyOf(objcOptions.copts);
this.compilationMode = Preconditions.checkNotNull(options.compilationMode, "compilationMode");
- this.gcovLabel = options.objcGcovBinary;
this.iosSplitCpu = Preconditions.checkNotNull(objcOptions.iosSplitCpu, "iosSplitCpu");
this.fastbuildOptions = ImmutableList.copyOf(objcOptions.fastbuildOptions);
this.enableBinaryStripping = objcOptions.enableBinaryStripping;
@@ -154,14 +145,6 @@ public class ObjcConfiguration extends BuildConfiguration.Fragment {
}
/**
- * Returns the label of the gcov binary, used to get test coverage data. Null iff not in coverage
- * mode.
- */
- @Nullable public Label getGcovLabel() {
- return gcovLabel;
- }
-
- /**
* Whether module map generation and interpretation is enabled.
*/
public boolean moduleMapsEnabled() {