aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-02-14 14:08:45 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-14 14:10:01 -0800
commit40d0077016dee31865af5246cbd6b2953d6386b3 (patch)
treebc61c4057476ecfa5b25b6f37d2aa88bca05b7dd /src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java
parentae52720bd38f1e1a29dc6d6910e6a0da95eb9236 (diff)
Start slimming down ToolchainResolutionKey: get rid of BuildConfiguration. The real blocker is PlatformInfo, which is coming.
PiperOrigin-RevId: 185742130
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java
index d415ef0078..6a8dcca3d6 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java
@@ -49,7 +49,13 @@ public class ToolchainResolutionFunction implements SkyFunction {
throws SkyFunctionException, InterruptedException {
ToolchainResolutionKey key = (ToolchainResolutionKey) skyKey.argument();
- BuildConfiguration configuration = key.configuration();
+ // This call could be combined with the call below, but this SkyFunction is evaluated so rarely
+ // it's not worth optimizing.
+ BuildConfigurationValue value = (BuildConfigurationValue) env.getValue(key.configurationKey());
+ if (env.valuesMissing()) {
+ return null;
+ }
+ BuildConfiguration configuration = value.getConfiguration();
// Get all toolchains.
RegisteredToolchainsValue toolchains;
@@ -57,7 +63,7 @@ public class ToolchainResolutionFunction implements SkyFunction {
toolchains =
(RegisteredToolchainsValue)
env.getValueOrThrow(
- RegisteredToolchainsValue.key(configuration),
+ RegisteredToolchainsValue.key(key.configurationKey()),
InvalidToolchainLabelException.class,
EvalException.class);
if (toolchains == null) {