diff options
author | 2016-01-27 20:42:17 +0000 | |
---|---|---|
committer | 2016-01-28 15:29:54 +0000 | |
commit | 03e89a9f5430643f5c443af21792984e5b7fc962 (patch) | |
tree | bed5a04fd95e6df0df0c6e6389f239e8e4606df3 /src | |
parent | 25b38ac9a127b5ed31e764311c52db38dec7f442 (diff) |
Always declare dependency on xcode gcov.
RELNOTES[INC]: Removes --objc_gcov_binary flag.
--
MOS_MIGRATED_REVID=113190035
Diffstat (limited to 'src')
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() { |