Remove BuildConfiguration from ConfiguredTarget.
PiperOrigin-RevId: 190804641
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTarget.java
index 29f1506..e068719 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTarget.java
@@ -16,7 +16,6 @@
import com.google.common.collect.ImmutableCollection;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
-import com.google.devtools.build.lib.analysis.configuredtargets.InputFileConfiguredTarget;
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
import com.google.devtools.build.lib.syntax.ClassObject;
@@ -45,16 +44,6 @@
*/
String FILES_FIELD = "files";
- /**
- * <p>Returns the {@link BuildConfiguration} for which this {@link ConfiguredTarget} is
- * defined. Configuration is defined for all configured targets with exception
- * of the {@link InputFileConfiguredTarget} for which it is always
- * <b>null</b>.</p>
- */
- @Override
- @Nullable
- BuildConfiguration getConfiguration();
-
default String getConfigurationChecksum() {
return getConfigurationKey() == null
? null
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TargetContext.java b/src/main/java/com/google/devtools/build/lib/analysis/TargetContext.java
index cba5aac..9c3ba9e 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TargetContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TargetContext.java
@@ -24,6 +24,7 @@
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.packages.PackageSpecification.PackageGroupContents;
import com.google.devtools.build.lib.packages.Target;
+import com.google.devtools.build.lib.skyframe.BuildConfigurationValue;
import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndData;
import java.util.List;
import java.util.Set;
@@ -96,6 +97,10 @@
return configuration;
}
+ public BuildConfigurationValue.Key getConfigurationKey() {
+ return BuildConfigurationValue.key(configuration);
+ }
+
public NestedSet<PackageGroupContents> getVisibility() {
return visibility;
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
index a2e3734..51cf588 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TransitiveInfoCollection.java
@@ -97,11 +97,6 @@
*/
Label getLabel();
- /** Deprecated! Use {@link #getConfigurationKey} instead. */
- @Deprecated
- @Nullable
- BuildConfiguration getConfiguration();
-
/**
* Returns the {@link BuildConfigurationValue.Key} naming the {@link BuildConfiguration} for which
* this transitive info collection is defined. Configuration is defined for all configured targets
@@ -109,13 +104,7 @@
* for which it is always <b>null</b>.
*/
@Nullable
- default BuildConfigurationValue.Key getConfigurationKey() {
- BuildConfiguration configuration = getConfiguration();
- return configuration == null
- ? null
- : BuildConfigurationValue.key(
- configuration.fragmentClasses(), configuration.getBuildOptionsDiff());
- }
+ BuildConfigurationValue.Key getConfigurationKey();
/**
* Checks whether this {@link TransitiveInfoCollection} satisfies given {@link RequiredProviders}.
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/AbstractConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/AbstractConfiguredTarget.java
index 9bd4119..18aa071 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/AbstractConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/AbstractConfiguredTarget.java
@@ -25,7 +25,6 @@
import com.google.devtools.build.lib.analysis.RunfilesProvider;
import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
import com.google.devtools.build.lib.analysis.VisibilityProvider;
-import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
@@ -34,6 +33,7 @@
import com.google.devtools.build.lib.packages.Info;
import com.google.devtools.build.lib.packages.PackageSpecification.PackageGroupContents;
import com.google.devtools.build.lib.packages.Provider;
+import com.google.devtools.build.lib.skyframe.BuildConfigurationValue;
import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
import com.google.devtools.build.lib.syntax.ClassObject;
import com.google.devtools.build.lib.syntax.EvalException;
@@ -50,7 +50,7 @@
public abstract class AbstractConfiguredTarget
implements ConfiguredTarget, VisibilityProvider, ClassObject {
private final Label label;
- private final BuildConfiguration configuration;
+ private final BuildConfigurationValue.Key configurationKey;
private final NestedSet<PackageGroupContents> visibility;
@@ -61,14 +61,16 @@
private static final String DATA_RUNFILES_FIELD = "data_runfiles";
private static final String DEFAULT_RUNFILES_FIELD = "default_runfiles";
- public AbstractConfiguredTarget(Label label, BuildConfiguration configuration) {
- this(label, configuration, NestedSetBuilder.emptySet(Order.STABLE_ORDER));
+ public AbstractConfiguredTarget(Label label, BuildConfigurationValue.Key configurationKey) {
+ this(label, configurationKey, NestedSetBuilder.emptySet(Order.STABLE_ORDER));
}
protected AbstractConfiguredTarget(
- Label label, BuildConfiguration configuration, NestedSet<PackageGroupContents> visibility) {
+ Label label,
+ BuildConfigurationValue.Key configurationKey,
+ NestedSet<PackageGroupContents> visibility) {
this.label = label;
- this.configuration = configuration;
+ this.configurationKey = configurationKey;
this.visibility = visibility;
}
@@ -78,8 +80,8 @@
}
@Override
- public BuildConfiguration getConfiguration() {
- return configuration;
+ public BuildConfigurationValue.Key getConfigurationKey() {
+ return configurationKey;
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/FileConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/FileConfiguredTarget.java
index 134f50d..2fec10f 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/FileConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/FileConfiguredTarget.java
@@ -23,7 +23,6 @@
import com.google.devtools.build.lib.analysis.TransitiveInfoProviderMap;
import com.google.devtools.build.lib.analysis.TransitiveInfoProviderMapBuilder;
import com.google.devtools.build.lib.analysis.VisibilityProvider;
-import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.fileset.FilesetProvider;
import com.google.devtools.build.lib.analysis.test.InstrumentedFilesProvider;
import com.google.devtools.build.lib.cmdline.Label;
@@ -33,6 +32,7 @@
import com.google.devtools.build.lib.packages.Info;
import com.google.devtools.build.lib.packages.PackageSpecification.PackageGroupContents;
import com.google.devtools.build.lib.packages.Provider;
+import com.google.devtools.build.lib.skyframe.BuildConfigurationValue;
import com.google.devtools.build.lib.util.FileType;
/**
@@ -47,10 +47,10 @@
FileConfiguredTarget(
Label label,
- BuildConfiguration configuration,
+ BuildConfigurationValue.Key configurationKey,
NestedSet<PackageGroupContents> visibility,
Artifact artifact) {
- super(label, configuration, visibility);
+ super(label, configurationKey, visibility);
NestedSet<Artifact> filesToBuild = NestedSetBuilder.create(Order.STABLE_ORDER, artifact);
this.artifact = artifact;
FileProvider fileProvider = new FileProvider(filesToBuild);
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/FilesetOutputConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/FilesetOutputConfiguredTarget.java
index 1d4b001..39fabc3 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/FilesetOutputConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/FilesetOutputConfiguredTarget.java
@@ -20,12 +20,12 @@
import com.google.devtools.build.lib.actions.FilesetTraversalParams;
import com.google.devtools.build.lib.analysis.TargetContext;
import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
-import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.fileset.FilesetProvider;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.packages.OutputFile;
import com.google.devtools.build.lib.packages.PackageSpecification.PackageGroupContents;
+import com.google.devtools.build.lib.skyframe.BuildConfigurationValue;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.vfs.PathFragment;
import javax.annotation.Nullable;
@@ -54,7 +54,7 @@
@Nullable ImmutableList<FilesetTraversalParams> traversals) {
this(
targetContext.getLabel(),
- targetContext.getConfiguration(),
+ targetContext.getConfigurationKey(),
targetContext.getVisibility(),
generatingRule,
outputArtifact,
@@ -70,12 +70,12 @@
@AutoCodec.Instantiator
FilesetOutputConfiguredTarget(
Label label,
- BuildConfiguration configuration,
+ BuildConfigurationValue.Key configurationKey,
NestedSet<PackageGroupContents> visibility,
TransitiveInfoCollection generatingRule,
Artifact artifact,
@Nullable ImmutableList<FilesetTraversalParams> traversals) {
- super(label, configuration, visibility, artifact, generatingRule);
+ super(label, configurationKey, visibility, artifact, generatingRule);
FilesetProvider provider = generatingRule.getProvider(FilesetProvider.class);
Preconditions.checkArgument(provider != null);
filesetInputManifest = provider.getFilesetInputManifest();
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/MergedConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/MergedConfiguredTarget.java
index 40c20c8..bb1e908 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/MergedConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/MergedConfiguredTarget.java
@@ -53,7 +53,7 @@
}
private MergedConfiguredTarget(ConfiguredTarget base, TransitiveInfoProviderMap providers) {
- super(base.getLabel(), base.getConfiguration());
+ super(base.getLabel(), base.getConfigurationKey());
this.base = base;
this.providers = providers;
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/OutputFileConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/OutputFileConfiguredTarget.java
index 487bd17..613266a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/OutputFileConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/OutputFileConfiguredTarget.java
@@ -21,13 +21,13 @@
import com.google.devtools.build.lib.analysis.TargetContext;
import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
-import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.test.InstrumentedFilesProvider;
import com.google.devtools.build.lib.analysis.test.InstrumentedFilesProviderImpl;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.packages.OutputFile;
import com.google.devtools.build.lib.packages.PackageSpecification.PackageGroupContents;
+import com.google.devtools.build.lib.skyframe.BuildConfigurationValue;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Instantiator;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
@@ -46,7 +46,7 @@
TransitiveInfoCollection generatingRule, Artifact outputArtifact) {
this(
targetContext.getLabel(),
- targetContext.getConfiguration(),
+ targetContext.getConfigurationKey(),
targetContext.getVisibility(),
outputArtifact,
generatingRule);
@@ -57,11 +57,11 @@
@VisibleForSerialization
OutputFileConfiguredTarget(
Label label,
- BuildConfiguration configuration,
+ BuildConfigurationValue.Key configurationKey,
NestedSet<PackageGroupContents> visibility,
Artifact artifact,
TransitiveInfoCollection generatingRule) {
- super(label, configuration, visibility, artifact);
+ super(label, configurationKey, visibility, artifact);
this.generatingRule = Preconditions.checkNotNull(generatingRule);
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java
index d2d6a8f..54f3368 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java
@@ -31,7 +31,6 @@
import com.google.devtools.build.lib.analysis.TransitiveInfoProviderMap;
import com.google.devtools.build.lib.analysis.TransitiveInfoProviderMapBuilder;
import com.google.devtools.build.lib.analysis.Util;
-import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider;
import com.google.devtools.build.lib.analysis.config.RunUnder;
import com.google.devtools.build.lib.analysis.skylark.SkylarkApiProvider;
@@ -42,6 +41,7 @@
import com.google.devtools.build.lib.packages.OutputFile;
import com.google.devtools.build.lib.packages.PackageSpecification.PackageGroupContents;
import com.google.devtools.build.lib.packages.Provider;
+import com.google.devtools.build.lib.skyframe.BuildConfigurationValue;
import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Instantiator;
@@ -97,7 +97,7 @@
@VisibleForSerialization
RuleConfiguredTarget(
Label label,
- BuildConfiguration configuration,
+ BuildConfigurationValue.Key configurationKey,
NestedSet<PackageGroupContents> visibility,
TransitiveInfoProviderMap providers,
ImmutableMap<Label, ConfigMatchingProvider> configConditions,
@@ -105,7 +105,7 @@
String ruleClassString,
List<ActionAnalysisMetadata> actions,
ImmutableMap<Artifact, Integer> generatingActionIndex) {
- super(label, configuration, visibility);
+ super(label, configurationKey, visibility);
// We don't use ImmutableMap.Builder here to allow augmenting the initial list of 'default'
// providers by passing them in.
@@ -138,7 +138,7 @@
ImmutableMap<Artifact, Integer> generatingActionIndex) {
this(
ruleContext.getLabel(),
- ruleContext.getConfiguration(),
+ ruleContext.getConfigurationKey(),
ruleContext.getVisibility(),
providers,
ruleContext.getConfigConditions(),
diff --git a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
index 4155865..a0e9d7a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
@@ -21,12 +21,12 @@
import com.google.devtools.build.lib.analysis.FileProvider;
import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
-import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.Info;
import com.google.devtools.build.lib.packages.Provider;
+import com.google.devtools.build.lib.skyframe.BuildConfigurationValue;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
@@ -45,7 +45,7 @@
@Immutable
public final class AliasConfiguredTarget implements ConfiguredTarget, ClassObject {
private final Label label;
- private final BuildConfiguration configuration;
+ private final BuildConfigurationValue.Key configurationKey;
private final ConfiguredTarget actual;
private final ImmutableMap<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider>
overrides;
@@ -56,7 +56,7 @@
ImmutableMap<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider> overrides) {
this(
ruleContext.getLabel(),
- Preconditions.checkNotNull(ruleContext.getConfiguration()),
+ Preconditions.checkNotNull(ruleContext.getConfigurationKey()),
Preconditions.checkNotNull(actual),
Preconditions.checkNotNull(overrides));
}
@@ -65,11 +65,11 @@
@VisibleForSerialization
AliasConfiguredTarget(
Label label,
- BuildConfiguration configuration,
+ BuildConfigurationValue.Key configurationKey,
ConfiguredTarget actual,
ImmutableMap<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider> overrides) {
this.label = label;
- this.configuration = configuration;
+ this.configurationKey = configurationKey;
this.actual = actual;
this.overrides = overrides;
}
@@ -110,11 +110,11 @@
}
@Override
- public BuildConfiguration getConfiguration() {
- // This does not return actual.getConfiguration() because actual might be an input file, in
- // which case its configuration is null and we don't want to have rules that have a null
- // configuration.
- return configuration;
+ public BuildConfigurationValue.Key getConfigurationKey() {
+ // This does not return actual.getConfigurationKey() because actual might be an input file, in
+ // which case its configurationKey is null and we don't want to have rules that have a null
+ // configurationKey.
+ return configurationKey;
}
/* ClassObject methods */
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java
index b648d10..efc87d6 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java
@@ -76,6 +76,10 @@
return Key.create(fragmentClassSet, optionsDiff);
}
+ public static Key key(BuildConfiguration buildConfiguration) {
+ return key(buildConfiguration.fragmentClasses(), buildConfiguration.getBuildOptionsDiff());
+ }
+
/** {@link SkyKey} for {@link BuildConfigurationValue}. */
public static final class Key implements SkyKey, Serializable {
private static final Interner<Key> keyInterner = BlazeInterners.newWeakInterner();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetAndData.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetAndData.java
index e79d0d0..d583220 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetAndData.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetAndData.java
@@ -55,32 +55,21 @@
+ " ConfiguredTarget's label %s is not equal to Target's label %s",
configuredTarget.getLabel(),
target.getLabel());
- BuildConfiguration innerConfiguration = configuredTarget.getConfiguration();
- if (configuration != innerConfiguration) {
- Preconditions.checkNotNull(configuration, configuredTarget);
- Preconditions.checkNotNull(innerConfiguration, configuredTarget);
- // We can't always assert that configurations are equal, because fragments, which are used in
- // the equality check, don't implement .equals(), so two configurations constructed from the
- // same options may end up unequal.
+ BuildConfigurationValue.Key innerConfigurationKey = configuredTarget.getConfigurationKey();
+ if (configuration == null) {
Preconditions.checkState(
- configuration.checksum().equals(innerConfiguration.checksum()),
- "Configuration checksums don't match: %s %s (%s %s)",
- configuration.checksum(),
- innerConfiguration.checksum(),
+ innerConfigurationKey == null,
+ "Non-null configuration key for %s but configuration is null (%s)",
configuredTarget,
target);
+ } else {
+ BuildConfigurationValue.Key configurationKey = BuildConfigurationValue.key(configuration);
Preconditions.checkState(
- configuration.getOptions().equals(innerConfiguration.getOptions()),
- "Configuration options don't match: %s %s (%s %s)",
- configuration.getOptions(),
- innerConfiguration.getOptions(),
- configuredTarget,
- target);
- Preconditions.checkState(
- configuration.fragmentClasses().equals(innerConfiguration.fragmentClasses()),
- "Configuration classes don't match: %s %s (%s %s)",
- configuration.fragmentClasses(),
- innerConfiguration.fragmentClasses(),
+ innerConfigurationKey.equals(configurationKey),
+ "Configurations don't match: %s %s %s (%s %s)",
+ configurationKey,
+ innerConfigurationKey,
+ configuration,
configuredTarget,
target);
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetKey.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetKey.java
index 9570367..f9ac4b5 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetKey.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetKey.java
@@ -91,9 +91,7 @@
return configuration == null
? KeyAndHost.NULL_INSTANCE
: new KeyAndHost(
- BuildConfigurationValue.key(
- configuration.fragmentClasses(), configuration.getBuildOptionsDiff()),
- configuration.isHostConfiguration());
+ BuildConfigurationValue.key(configuration), configuration.isHostConfiguration());
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index a089b0b..95f2873 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -905,14 +905,7 @@
SkyFunctionEnvironmentForTesting env =
new SkyFunctionEnvironmentForTesting(buildDriver, eventHandler, this);
return ToolchainUtil.createToolchainContext(
- env,
- "",
- requiredToolchains,
- config == null
- ? null
- : BuildConfigurationValue.key(
- config.fragmentClasses(),
- BuildOptions.diffForReconstruction(defaultBuildOptions, config.getOptions())));
+ env, "", requiredToolchains, config == null ? null : BuildConfigurationValue.key(config));
}
/**