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;
}