Explicitly make fragments option to BuildConfigurationValue#key an ImmutableSortedSet wherever possible, and use a known explicit ImmutableSortedSet in the case of two sets being equal. This is mainly a cosmetic cleanup for the sequel changes.
Also rename test-only methods in SkyframeExecutor to indicate that, and do a drive-by clean-up of a test that reported hard crashes confusingly because it wrapped RuntimeExceptions.
PiperOrigin-RevId: 182984572
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
index 5097f42..ab9981b 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
@@ -26,6 +26,7 @@
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
@@ -897,7 +898,7 @@
throws EvalException, InvalidConfigurationException,
InterruptedException, InconsistentAspectOrderException {
return Collections2.transform(
- skyframeExecutor.getConfiguredTargets(
+ skyframeExecutor.getConfiguredTargetsForTesting(
eventHandler,
ct.getConfiguration(),
ImmutableSet.copyOf(
@@ -953,7 +954,7 @@
@Override
protected List<BuildConfiguration> getConfigurations(
- Set<Class<? extends BuildConfiguration.Fragment>> fragments,
+ ImmutableSortedSet<Class<? extends BuildConfiguration.Fragment>> fragments,
Iterable<BuildOptions> buildOptions) {
Preconditions.checkArgument(ct.getConfiguration().fragmentClasses().equals(fragments));
Dependency asDep = Dependency.withTransitionAndAspects(ct.getLabel(),
@@ -1018,7 +1019,7 @@
eventHandler, target, configurations, toolchainContext);
ImmutableMultimap<Dependency, ConfiguredTargetAndTarget> cts =
- skyframeExecutor.getConfiguredTargetMap(
+ skyframeExecutor.getConfiguredTargetMapForTesting(
eventHandler, target.getConfiguration(), ImmutableSet.copyOf(depNodeNames.values()));
OrderedSetMultimap<Attribute, ConfiguredTargetAndTarget> result = OrderedSetMultimap.create();