propagated for cc_library and cc_binary Part of #8830 RELNOTES[NEW]: tags: use `--experimental_allow_tags_propagation` flag to propagate tags to the action's execution requirements from cc_library or cc_binary targets. Such tags should start with: `no-`, `requires-`, `supports-`, `block-`, `disable-`, `cpu:`. See #8830 for details. Closes #9267. PiperOrigin-RevId: 266353642
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java index f73e723..d4e3e0d 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -125,6 +125,10 @@ public final class RuleContext extends TargetContext implements ActionConstructionContext, ActionRegistry, RuleErrorConsumer { + public boolean isAllowTagsPropagation() throws InterruptedException { + return this.getAnalysisEnvironment().getSkylarkSemantics().experimentalAllowTagsPropagation(); + } + /** * The configured version of FilesetEntry. */
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCcModule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCcModule.java index 88e4c26..8f05560 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCcModule.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCcModule.java
@@ -84,7 +84,7 @@ boolean disallowNopicOutputs, Location location, Environment environment) - throws EvalException { + throws EvalException, InterruptedException { return compile( skylarkActionFactoryApi, skylarkFeatureConfiguration,
diff --git a/src/main/java/com/google/devtools/build/lib/packages/TargetUtils.java b/src/main/java/com/google/devtools/build/lib/packages/TargetUtils.java index b60aaca..82f220a 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/TargetUtils.java +++ b/src/main/java/com/google/devtools/build/lib/packages/TargetUtils.java
@@ -235,6 +235,24 @@ } /** + * Returns the execution info from the tags declared on the target. These include only some tags + * {@link #legalExecInfoKeys} as keys with empty values. + * + * @param rule a rule instance to get tags from + * @param allowTagsPropagation if set to true, tags will be propagated from a target to the + * actions' execution requirements, for more details {@see + * SkylarkSematicOptions#experimentalAllowTagsPropagation} + */ + public static ImmutableMap<String, String> getExecutionInfo( + Rule rule, boolean allowTagsPropagation) { + if (allowTagsPropagation) { + return ImmutableMap.copyOf(getExecutionInfo(rule)); + } else { + return ImmutableMap.of(); + } + } + + /** * Returns the execution info, obtained from the rule's tags and the execution requirements * provided. Only supported tags are included into the execution info, see {@link * #legalExecInfoKeys}.
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java index 564dd7e..306b83e 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
@@ -352,7 +352,9 @@ semantics, featureConfiguration, ccToolchain, - fdoContext) + fdoContext, + TargetUtils.getExecutionInfo( + ruleContext.getRule(), ruleContext.isAllowTagsPropagation())) .fromCommon(common, /* additionalCopts= */ ImmutableList.of()) .addPrivateHeaders(common.getPrivateHeaders()) .addSources(common.getSources()) @@ -408,7 +410,9 @@ fdoContext, ruleContext.getConfiguration(), cppConfiguration, - ruleContext.getSymbolGenerator()) + ruleContext.getSymbolGenerator(), + TargetUtils.getExecutionInfo( + ruleContext.getRule(), ruleContext.isAllowTagsPropagation())) .fromCommon(ruleContext, common) .setGrepIncludes(CppHelper.getGrepIncludes(ruleContext)) .setIsStampingEnabled(AnalysisUtils.isStampingEnabled(ruleContext)) @@ -714,7 +718,9 @@ fdoContext, ruleContext.getConfiguration(), cppConfiguration, - ruleContext.getSymbolGenerator()) + ruleContext.getSymbolGenerator(), + TargetUtils.getExecutionInfo( + ruleContext.getRule(), ruleContext.isAllowTagsPropagation())) .setGrepIncludes(CppHelper.getGrepIncludes(ruleContext)) .setIsStampingEnabled(AnalysisUtils.isStampingEnabled(ruleContext)) .setTestOrTestOnlyTarget(ruleContext.isTestTarget() || ruleContext.isTestOnlyTarget())
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java index c281f6e..c96298c 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java
@@ -222,6 +222,7 @@ private final CppSemantics semantics; private final BuildConfiguration configuration; + private final ImmutableMap<String, String> executionInfo; private final CppConfiguration cppConfiguration; private final List<Artifact> publicHeaders = new ArrayList<>(); @@ -285,7 +286,8 @@ SourceCategory sourceCategory, CcToolchainProvider ccToolchain, FdoContext fdoContext, - BuildConfiguration buildConfiguration) { + BuildConfiguration buildConfiguration, + ImmutableMap<String, String> executionInfo) { this.semantics = Preconditions.checkNotNull(semantics); this.featureConfiguration = Preconditions.checkNotNull(featureConfiguration); this.sourceCategory = Preconditions.checkNotNull(sourceCategory); @@ -304,6 +306,7 @@ this.actionRegistry = Preconditions.checkNotNull(actionRegistry); this.label = Preconditions.checkNotNull(label); this.grepIncludes = grepIncludes; + this.executionInfo = Preconditions.checkNotNull(executionInfo); } /** Creates a CcCompilationHelper for cpp source files. */ @@ -315,7 +318,8 @@ CppSemantics semantics, FeatureConfiguration featureConfiguration, CcToolchainProvider ccToolchain, - FdoContext fdoContext) { + FdoContext fdoContext, + ImmutableMap<String, String> executionInfo) { this( actionRegistry, actionConstructionContext, @@ -326,7 +330,8 @@ SourceCategory.CC, ccToolchain, fdoContext, - actionConstructionContext.getConfiguration()); + actionConstructionContext.getConfiguration(), + executionInfo); } /** Sets fields that overlap for cc_library and cc_binary rules. */ @@ -1548,6 +1553,7 @@ builder.setCcCompilationContext(ccCompilationContext); builder.setCoptsFilter(coptsFilter); builder.setFeatureConfiguration(featureConfiguration); + builder.addExecutionInfo(executionInfo); return builder; }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcImport.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcImport.java index 82a549c..54728b7 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcImport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcImport.java
@@ -26,6 +26,7 @@ import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; +import com.google.devtools.build.lib.packages.TargetUtils; import com.google.devtools.build.lib.rules.cpp.CcCompilationHelper.CompilationInfo; import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.FeatureConfiguration; import com.google.devtools.build.lib.rules.cpp.CppConfiguration.HeadersCheckingMode; @@ -160,7 +161,9 @@ semantics, featureConfiguration, ccToolchain, - ccToolchain.getFdoContext()) + ccToolchain.getFdoContext(), + TargetUtils.getExecutionInfo( + ruleContext.getRule(), ruleContext.isAllowTagsPropagation())) .addPublicHeaders(common.getHeaders()) .setHeadersCheckingMode(HeadersCheckingMode.STRICT) .setCodeCoverageEnabled(CcCompilationHelper.isCodeCoverageEnabled(ruleContext))
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java index 42d9f9e..8adf9c5 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
@@ -43,6 +43,7 @@ import com.google.devtools.build.lib.packages.BuildType; import com.google.devtools.build.lib.packages.ImplicitOutputsFunction; import com.google.devtools.build.lib.packages.RawAttributeMapper; +import com.google.devtools.build.lib.packages.TargetUtils; import com.google.devtools.build.lib.rules.cpp.CcCommon.CcFlagsSupplier; import com.google.devtools.build.lib.rules.cpp.CcCompilationHelper.CompilationInfo; import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.FeatureConfiguration; @@ -157,7 +158,9 @@ semantics, featureConfiguration, ccToolchain, - fdoContext) + fdoContext, + TargetUtils.getExecutionInfo( + ruleContext.getRule(), ruleContext.isAllowTagsPropagation())) .fromCommon(common, additionalCopts) .addSources(common.getSources()) .addPrivateHeaders(common.getPrivateHeaders()) @@ -183,7 +186,9 @@ fdoContext, ruleContext.getConfiguration(), ruleContext.getFragment(CppConfiguration.class), - ruleContext.getSymbolGenerator()) + ruleContext.getSymbolGenerator(), + TargetUtils.getExecutionInfo( + ruleContext.getRule(), ruleContext.isAllowTagsPropagation())) .fromCommon(ruleContext, common) .setGrepIncludes(CppHelper.getGrepIncludes(ruleContext)) .setTestOrTestOnlyTarget(ruleContext.isTestOnlyTarget())
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java index 65900b0..e13f605 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java
@@ -18,6 +18,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableCollection; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.actions.ActionRegistry; import com.google.devtools.build.lib.actions.Artifact; @@ -124,6 +125,7 @@ private final ActionRegistry actionRegistry; private final RuleErrorConsumer ruleErrorConsumer; private final SymbolGenerator<?> symbolGenerator; + private final ImmutableMap<String, String> executionInfo; private Artifact grepIncludes; private boolean isStampingEnabled; @@ -141,6 +143,7 @@ * @param ccToolchain the C++ toolchain provider for the build * @param fdoContext the C++ FDO optimization support provider for the build * @param configuration the configuration that gives the directory of output artifacts + * @param executionInfo the execution info data associated with a rule */ public CcLinkingHelper( RuleErrorConsumer ruleErrorConsumer, @@ -153,7 +156,8 @@ FdoContext fdoContext, BuildConfiguration configuration, CppConfiguration cppConfiguration, - SymbolGenerator<?> symbolGenerator) { + SymbolGenerator<?> symbolGenerator, + ImmutableMap<String, String> executionInfo) { this.semantics = Preconditions.checkNotNull(semantics); this.featureConfiguration = Preconditions.checkNotNull(featureConfiguration); this.ccToolchain = Preconditions.checkNotNull(ccToolchain); @@ -165,6 +169,7 @@ this.actionRegistry = actionRegistry; this.actionConstructionContext = actionConstructionContext; this.symbolGenerator = symbolGenerator; + this.executionInfo = executionInfo; } /** Sets fields that overlap for cc_library and cc_binary rules. */ @@ -837,7 +842,8 @@ ? ccToolchain.getArFiles() : ccToolchain.getLinkerFiles()) .setLinkArtifactFactory(linkArtifactFactory) - .setUseTestOnlyFlags(useTestOnlyFlags); + .setUseTestOnlyFlags(useTestOnlyFlags) + .addExecutionInfo(executionInfo); } /**
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java index 678133c..1511841 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java
@@ -37,6 +37,7 @@ import com.google.devtools.build.lib.packages.Provider; import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException; import com.google.devtools.build.lib.packages.SkylarkInfo; +import com.google.devtools.build.lib.packages.TargetUtils; import com.google.devtools.build.lib.rules.cpp.CcCompilationHelper.CompilationInfo; import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.ActionConfig; import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.ArtifactNamePattern; @@ -1432,7 +1433,10 @@ .getActionConstructionContext() .getConfiguration() .getFragment(CppConfiguration.class), - ((BazelStarlarkContext) starlarkContext).getSymbolGenerator()) + ((BazelStarlarkContext) starlarkContext).getSymbolGenerator(), + TargetUtils.getExecutionInfo( + actions.getRuleContext().getRule(), + actions.getRuleContext().isAllowTagsPropagation())) .setGrepIncludes(convertFromNoneable(grepIncludes, /* defaultValue= */ null)) .addNonCodeLinkerInputs(additionalInputs) .setShouldCreateStaticLibraries(!disallowStaticLibraries) @@ -1527,7 +1531,7 @@ SkylarkList<Artifact> headersForClifDoNotUseThisParam, Location location, @Nullable Environment environment) - throws EvalException { + throws EvalException, InterruptedException { if (environment != null) { CcCommon.checkLocationWhitelisted( environment.getSemantics(), @@ -1572,7 +1576,10 @@ getSemantics(), featureConfiguration.getFeatureConfiguration(), ccToolchainProvider, - fdoContext) + fdoContext, + TargetUtils.getExecutionInfo( + actions.getRuleContext().getRule(), + actions.getRuleContext().isAllowTagsPropagation())) .addPublicHeaders(publicHeaders) .addPrivateHeaders(privateHeaders) .addSources(sources) @@ -1680,7 +1687,10 @@ fdoContext, actions.getActionConstructionContext().getConfiguration(), cppConfiguration, - ((BazelStarlarkContext) starlarkContext).getSymbolGenerator()) + ((BazelStarlarkContext) starlarkContext).getSymbolGenerator(), + TargetUtils.getExecutionInfo( + actions.getRuleContext().getRule(), + actions.getRuleContext().isAllowTagsPropagation())) .setGrepIncludes(convertFromNoneable(grepIncludes, /* defaultValue= */ null)) .setLinkingMode(linkDepsStatically ? LinkingMode.STATIC : LinkingMode.DYNAMIC) .addNonCodeLinkerInputs(additionalInputs)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java index 276545d..d3f53af 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java
@@ -148,6 +148,7 @@ // of them. private boolean isTestOrTestOnlyTarget; private boolean isStampingEnabled; + private final Map<String, String> executionInfo = new LinkedHashMap<>(); /** * Creates a builder that builds {@link CppLinkAction}s. @@ -1022,15 +1023,14 @@ // If the crosstool uses action_configs to configure cc compilation, collect execution info // from there, otherwise, use no execution info. // TODO(b/27903698): Assert that the crosstool has an action_config for this action. - Map<String, String> executionRequirements = new LinkedHashMap<>(); if (featureConfiguration.actionIsConfigured(getActionName())) { for (String req : featureConfiguration.getToolRequirementsForAction(getActionName())) { - executionRequirements.put(req, ""); + executionInfo.put(req, ""); } } configuration.modifyExecutionInfo( - executionRequirements, CppLinkAction.getMnemonic(mnemonic, isLtoIndexing)); + executionInfo, CppLinkAction.getMnemonic(mnemonic, isLtoIndexing)); if (!isLtoIndexing) { for (Map.Entry<Linkstamp, Artifact> linkstampEntry : linkstampMap.entrySet()) { @@ -1092,7 +1092,7 @@ linkCommandLine, configuration.getActionEnvironment(), toolchainEnv, - ImmutableMap.copyOf(executionRequirements), + ImmutableMap.copyOf(executionInfo), toolchain.getToolPathFragment(Tool.LD, ruleErrorConsumer), toolchain.getHostSystemName(), toolchain.getTargetCpu()); @@ -1582,4 +1582,9 @@ this.linkActionOutputs.add(output); return this; } + + public CppLinkActionBuilder addExecutionInfo(Map<String, String> executionInfo) { + this.executionInfo.putAll(executionInfo); + return this; + } }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java index 9d0bbd8..9f0ddea 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java
@@ -41,6 +41,7 @@ import com.google.devtools.build.lib.packages.Attribute.LabelLateBoundDefault; import com.google.devtools.build.lib.packages.NativeAspectClass; import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException; +import com.google.devtools.build.lib.packages.TargetUtils; import com.google.devtools.build.lib.rules.cpp.AspectLegalCppSemantics; import com.google.devtools.build.lib.rules.cpp.CcCommon; import com.google.devtools.build.lib.rules.cpp.CcCompilationHelper; @@ -300,7 +301,8 @@ } private CcCompilationHelper initializeCompilationHelper( - FeatureConfiguration featureConfiguration, List<TransitiveInfoCollection> deps) { + FeatureConfiguration featureConfiguration, List<TransitiveInfoCollection> deps) + throws InterruptedException { CcToolchainProvider toolchain = ccToolchain(ruleContext); CcCompilationHelper helper = new CcCompilationHelper( @@ -311,7 +313,9 @@ cppSemantics, featureConfiguration, toolchain, - toolchain.getFdoContext()) + toolchain.getFdoContext(), + TargetUtils.getExecutionInfo( + ruleContext.getRule(), ruleContext.isAllowTagsPropagation())) .addCcCompilationContexts(CppHelper.getCompilationContextsFromDeps(deps)) .addCcCompilationContexts( ImmutableList.of(CcCompilationHelper.getStlCcCompilationContext(ruleContext))); @@ -344,7 +348,8 @@ } private CcLinkingHelper initializeLinkingHelper( - FeatureConfiguration featureConfiguration, ImmutableList<TransitiveInfoCollection> deps) { + FeatureConfiguration featureConfiguration, ImmutableList<TransitiveInfoCollection> deps) + throws InterruptedException { CcToolchainProvider toolchain = ccToolchain(ruleContext); CcLinkingHelper helper = new CcLinkingHelper( @@ -358,7 +363,9 @@ toolchain.getFdoContext(), ruleContext.getConfiguration(), ruleContext.getFragment(CppConfiguration.class), - ruleContext.getSymbolGenerator()) + ruleContext.getSymbolGenerator(), + TargetUtils.getExecutionInfo( + ruleContext.getRule(), ruleContext.isAllowTagsPropagation())) .setGrepIncludes(CppHelper.getGrepIncludes(ruleContext)) .setTestOrTestOnlyTarget(ruleContext.isTestOnlyTarget()); helper.addCcLinkingContexts(CppHelper.getLinkingContextsFromDeps(deps));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java b/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java index 9d8d075..0e154f3 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/nativedeps/NativeDepsHelper.java
@@ -30,6 +30,7 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException; +import com.google.devtools.build.lib.packages.TargetUtils; import com.google.devtools.build.lib.rules.cpp.CcCommon; import com.google.devtools.build.lib.rules.cpp.CcCompilationOutputs; import com.google.devtools.build.lib.rules.cpp.CcInfo; @@ -247,7 +248,9 @@ fdoContext, configuration, ruleContext.getFragment(CppConfiguration.class), - ruleContext.getSymbolGenerator()) + ruleContext.getSymbolGenerator(), + TargetUtils.getExecutionInfo( + ruleContext.getRule(), ruleContext.isAllowTagsPropagation())) .setGrepIncludes(CppHelper.getGrepIncludes(ruleContext)) .setIsStampingEnabled(AnalysisUtils.isStampingEnabled(ruleContext)) .setTestOrTestOnlyTarget(ruleContext.isTestTarget() || ruleContext.isTestOnlyTarget())
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 c18335e..d74fb51 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
@@ -85,6 +85,7 @@ import com.google.devtools.build.lib.packages.BuildType; import com.google.devtools.build.lib.packages.ImplicitOutputsFunction.SafeImplicitOutputsFunction; import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException; +import com.google.devtools.build.lib.packages.TargetUtils; import com.google.devtools.build.lib.rules.apple.AppleCommandLineOptions.AppleBitcodeMode; import com.google.devtools.build.lib.rules.apple.AppleConfiguration; import com.google.devtools.build.lib.rules.apple.XcodeConfig; @@ -292,7 +293,7 @@ ObjcCppSemantics semantics, String purpose, boolean generateModuleMap) - throws RuleErrorException { + throws RuleErrorException, InterruptedException { CcCompilationHelper result = new CcCompilationHelper( ruleContext, @@ -304,7 +305,9 @@ CcCompilationHelper.SourceCategory.CC_AND_OBJC, ccToolchain, fdoContext, - buildConfiguration) + buildConfiguration, + TargetUtils.getExecutionInfo( + ruleContext.getRule(), ruleContext.isAllowTagsPropagation())) .addSources(sources) .addPrivateHeaders(privateHdrs) .addDefines(objcProvider.get(DEFINE)) @@ -424,7 +427,9 @@ fdoContext, buildConfiguration, ruleContext.getFragment(CppConfiguration.class), - ruleContext.getSymbolGenerator()) + ruleContext.getSymbolGenerator(), + TargetUtils.getExecutionInfo( + ruleContext.getRule(), ruleContext.isAllowTagsPropagation())) .setGrepIncludes(CppHelper.getGrepIncludes(ruleContext)) .setIsStampingEnabled(AnalysisUtils.isStampingEnabled(ruleContext)) .setTestOrTestOnlyTarget(ruleContext.isTestTarget() || ruleContext.isTestOnlyTarget()) @@ -791,7 +796,6 @@ private BuildConfiguration buildConfiguration; private IntermediateArtifacts intermediateArtifacts; private CompilationAttributes compilationAttributes; - private boolean useDeps = true; private Map<String, NestedSet<Artifact>> outputGroupCollector; private ImmutableList.Builder<Artifact> objectFilesCollector; private CcToolchainProvider toolchain;