Start slimming down ToolchainResolutionKey: get rid of BuildConfiguration. The real blocker is PlatformInfo, which is coming.

PiperOrigin-RevId: 185742130
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index 6dda4a7..4d6f66e 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -124,6 +124,7 @@
 import com.google.devtools.build.lib.rules.repository.RepositoryDelegatorFunction;
 import com.google.devtools.build.lib.skyframe.AspectValue;
 import com.google.devtools.build.lib.skyframe.BazelSkyframeExecutorConstants;
+import com.google.devtools.build.lib.skyframe.BuildConfigurationValue;
 import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndTarget;
 import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey;
 import com.google.devtools.build.lib.skyframe.DiffAwareness;
@@ -202,6 +203,7 @@
   private MutableActionGraph mutableActionGraph;
 
   private LoadingOptions customLoadingOptions = null;
+  protected BuildConfigurationValue.Key targetConfigKey;
 
   @Before
   public final void initializeSkyframeExecutor() throws Exception {
@@ -465,6 +467,8 @@
         + configsMode.toString().toLowerCase();
     masterConfig = createConfigurations(actualArgs);
     targetConfig = getTargetConfiguration();
+    targetConfigKey =
+        BuildConfigurationValue.key(targetConfig.fragmentClasses(), targetConfig.getOptions());
     configurationArgs = Arrays.asList(actualArgs);
     createBuildView();
   }
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/DefaultToolchainTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/DefaultToolchainTest.java
index bd6c8cc..324ec10 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/DefaultToolchainTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/DefaultToolchainTest.java
@@ -32,7 +32,7 @@
 public class DefaultToolchainTest extends ToolchainTestCase {
   @Test
   public void testDefaultCcToolchainIsPresent() throws Exception {
-    SkyKey toolchainKey = RegisteredToolchainsValue.key(targetConfig);
+    SkyKey toolchainKey = RegisteredToolchainsValue.key(targetConfigKey);
     EvaluationResult<RegisteredToolchainsValue> result =
         requestToolchainsFromSkyframe(toolchainKey);
     ImmutableList<DeclaredToolchainInfo> declaredToolchains =
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java
index 01d216e..e45680d 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunctionTest.java
@@ -34,7 +34,7 @@
   @Test
   public void testRegisteredToolchains() throws Exception {
     // Request the toolchains.
-    SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfig);
+    SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfigKey);
     EvaluationResult<RegisteredToolchainsValue> result =
         requestToolchainsFromSkyframe(toolchainsKey);
     assertThatEvaluationResult(result).hasNoError();
@@ -93,7 +93,7 @@
     rewriteWorkspace("register_toolchains('//toolchain:toolchain_1')");
     useConfiguration("--extra_toolchains=//extra:extra_toolchain");
 
-    SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfig);
+    SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfigKey);
     EvaluationResult<RegisteredToolchainsValue> result =
         requestToolchainsFromSkyframe(toolchainsKey);
     assertThatEvaluationResult(result).hasNoError();
@@ -111,7 +111,7 @@
     scratch.file("error/BUILD", "filegroup(name = 'not_a_toolchain')");
 
     // Request the toolchains.
-    SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfig);
+    SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfigKey);
     EvaluationResult<RegisteredToolchainsValue> result =
         requestToolchainsFromSkyframe(toolchainsKey);
     assertThatEvaluationResult(result)
@@ -127,7 +127,7 @@
   public void testRegisteredToolchains_reload() throws Exception {
     rewriteWorkspace("register_toolchains('//toolchain:toolchain_1')");
 
-    SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfig);
+    SkyKey toolchainsKey = RegisteredToolchainsValue.key(targetConfigKey);
     EvaluationResult<RegisteredToolchainsValue> result =
         requestToolchainsFromSkyframe(toolchainsKey);
     assertThatEvaluationResult(result).hasNoError();
@@ -137,7 +137,7 @@
     // Re-write the WORKSPACE.
     rewriteWorkspace("register_toolchains('//toolchain:toolchain_2')");
 
-    toolchainsKey = RegisteredToolchainsValue.key(targetConfig);
+    toolchainsKey = RegisteredToolchainsValue.key(targetConfigKey);
     result = requestToolchainsFromSkyframe(toolchainsKey);
     assertThatEvaluationResult(result).hasNoError();
     assertToolchainLabels(result.get(toolchainsKey))
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunctionTest.java
index 92f24ed..35d0705 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunctionTest.java
@@ -50,7 +50,7 @@
   public void testResolution_singleExecutionPlatform() throws Exception {
     SkyKey key =
         ToolchainResolutionValue.key(
-            targetConfig, testToolchainType, linuxPlatform, ImmutableList.of(macPlatform));
+            targetConfigKey, testToolchainType, linuxPlatform, ImmutableList.of(macPlatform));
     EvaluationResult<ToolchainResolutionValue> result = invokeToolchainResolution(key);
 
     assertThatEvaluationResult(result).hasNoError();
@@ -76,7 +76,7 @@
 
     SkyKey key =
         ToolchainResolutionValue.key(
-            targetConfig,
+            targetConfigKey,
             testToolchainType,
             linuxPlatform,
             ImmutableList.of(linuxPlatform, macPlatform));
@@ -100,7 +100,7 @@
 
     SkyKey key =
         ToolchainResolutionValue.key(
-            targetConfig, testToolchainType, linuxPlatform, ImmutableList.of(macPlatform));
+            targetConfigKey, testToolchainType, linuxPlatform, ImmutableList.of(macPlatform));
     EvaluationResult<ToolchainResolutionValue> result = invokeToolchainResolution(key);
 
     assertThatEvaluationResult(result)
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainUtilTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainUtilTest.java
index 4477942..442f5de 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainUtilTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ToolchainUtilTest.java
@@ -212,7 +212,14 @@
       try {
         toolchainContext =
             ToolchainUtil.createToolchainContext(
-                env, key.targetDescription(), key.requiredToolchains(), key.configuration());
+                env,
+                key.targetDescription(),
+                key.requiredToolchains(),
+                key.configuration(),
+                key.configuration() == null
+                    ? null
+                    : BuildConfigurationValue.key(
+                        key.configuration().fragmentClasses(), key.configuration().getOptions()));
         if (toolchainContext == null) {
           return null;
         }