Propagate aspects to base target toolchains
This change propagates the aspect to the toolchain dependencies of its target based on the aspect's `toolchain_aspects` attribute.
PiperOrigin-RevId: 651544913
Change-Id: Ib9ff12d5757cda9b1a38d9c4f2b3b78ca2232f23
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BaseTargetPrerequisitesSupplier.java b/src/main/java/com/google/devtools/build/lib/skyframe/BaseTargetPrerequisitesSupplier.java
index 3c6aa29..fa52ebb 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/BaseTargetPrerequisitesSupplier.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BaseTargetPrerequisitesSupplier.java
@@ -16,6 +16,8 @@
import com.google.devtools.build.lib.analysis.ConfiguredTargetValue;
import com.google.devtools.build.lib.analysis.config.BuildConfigurationValue;
import com.google.devtools.build.lib.skyframe.config.BuildConfigurationKey;
+import com.google.devtools.build.lib.skyframe.toolchains.ToolchainContextKey;
+import com.google.devtools.build.lib.skyframe.toolchains.UnloadedToolchainContext;
import javax.annotation.Nullable;
/**
@@ -35,4 +37,11 @@
@Nullable
BuildConfigurationValue getPrerequisiteConfiguration(BuildConfigurationKey key)
throws InterruptedException;
+
+ /**
+ * Directly retrieves unloaded toolchain contexts from Skyframe without adding a dependency edge.
+ */
+ @Nullable
+ UnloadedToolchainContext getUnloadedToolchainContext(ToolchainContextKey key)
+ throws InterruptedException;
}