Add correct debugging output for toolchain resolution.
Part of work on execution transitions, #7935.
Closes #8101.
PiperOrigin-RevId: 244376535
diff --git a/src/java_tools/junitrunner/javatests/com/google/testing/junit/runner/BUILD b/src/java_tools/junitrunner/javatests/com/google/testing/junit/runner/BUILD
index 3017c29..fa0e7e0 100644
--- a/src/java_tools/junitrunner/javatests/com/google/testing/junit/runner/BUILD
+++ b/src/java_tools/junitrunner/javatests/com/google/testing/junit/runner/BUILD
@@ -25,8 +25,8 @@
"//third_party:jsr305",
"//third_party:jsr330_inject",
"//third_party:junit4",
+ "//third_party:mockito2",
"//third_party:truth",
- "//third_party/java/mockito:mockito2_for_third_party",
],
)
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 2420696..d39d838 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
@@ -17,6 +17,7 @@
import static java.util.stream.Collectors.joining;
import com.google.auto.value.AutoValue;
+import com.google.common.base.Preconditions;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.ImmutableBiMap;
import com.google.common.collect.ImmutableList;
@@ -59,8 +60,7 @@
UnloadedToolchainContext.Key key = (UnloadedToolchainContext.Key) skyKey.argument();
try {
- UnloadedToolchainContext.Builder unloadedToolchainContext =
- UnloadedToolchainContext.builder();
+ UnloadedToolchainContext.Builder builder = UnloadedToolchainContext.builder();
// Determine the configuration being used.
BuildConfigurationValue value =
@@ -70,10 +70,7 @@
}
BuildConfiguration configuration = value.getConfiguration();
PlatformConfiguration platformConfiguration =
- configuration.getFragment(PlatformConfiguration.class);
- if (platformConfiguration == null) {
- throw new ValueMissingException();
- }
+ Preconditions.checkNotNull(configuration.getFragment(PlatformConfiguration.class));
// Check if debug output should be generated.
boolean debug =
@@ -99,11 +96,27 @@
debug,
key.configurationKey(),
key.requiredToolchainTypeLabels(),
- unloadedToolchainContext,
+ builder,
platformKeys,
key.shouldSanityCheckConfiguration());
- return unloadedToolchainContext.build();
+ UnloadedToolchainContext unloadedToolchainContext = builder.build();
+ if (debug) {
+ String selectedToolchains =
+ unloadedToolchainContext.toolchainTypeToResolved().entrySet().stream()
+ .map(
+ e ->
+ String.format(
+ "type %s -> toolchain %s", e.getKey().typeLabel(), e.getValue()))
+ .collect(joining(", "));
+ env.getListener()
+ .handle(
+ Event.info(
+ String.format(
+ "ToolchainResolution: Selected execution platform %s, %s",
+ unloadedToolchainContext.executionPlatform().label(), selectedToolchains)));
+ }
+ return unloadedToolchainContext;
} catch (ToolchainException e) {
throw new ToolchainResolutionFunctionException(e);
} catch (ValueMissingException e) {
@@ -276,7 +289,7 @@
boolean debug,
BuildConfigurationValue.Key configurationKey,
ImmutableSet<Label> requiredToolchainTypeLabels,
- UnloadedToolchainContext.Builder unloadedToolchainContext,
+ UnloadedToolchainContext.Builder builder,
PlatformKeys platformKeys,
boolean shouldSanityCheckConfiguration)
throws InterruptedException, ValueMissingException, InvalidPlatformException,
@@ -377,14 +390,13 @@
throw new ValueMissingException();
}
- unloadedToolchainContext.setRequiredToolchainTypes(requiredToolchainTypes);
- unloadedToolchainContext.setExecutionPlatform(
- platforms.get(selectedExecutionPlatformKey.get()));
- unloadedToolchainContext.setTargetPlatform(platforms.get(platformKeys.targetPlatformKey()));
+ builder.setRequiredToolchainTypes(requiredToolchainTypes);
+ builder.setExecutionPlatform(platforms.get(selectedExecutionPlatformKey.get()));
+ builder.setTargetPlatform(platforms.get(platformKeys.targetPlatformKey()));
Map<ToolchainTypeInfo, Label> toolchains =
resolvedToolchains.row(selectedExecutionPlatformKey.get());
- unloadedToolchainContext.setToolchainTypeToResolved(ImmutableBiMap.copyOf(toolchains));
+ builder.setToolchainTypeToResolved(ImmutableBiMap.copyOf(toolchains));
}
/**
@@ -425,22 +437,6 @@
continue;
}
- if (debug) {
- String selectedToolchains =
- toolchains.entrySet().stream()
- .map(
- e ->
- String.format(
- "type %s -> toolchain %s", e.getKey().typeLabel(), e.getValue()))
- .collect(joining(", "));
- environment
- .getListener()
- .handle(
- Event.info(
- String.format(
- "ToolchainResolver: Selected execution platform %s, %s",
- executionPlatformKey.getLabel(), selectedToolchains)));
- }
return Optional.of(executionPlatformKey);
}