aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2017-09-06 18:19:20 +0200
committerGravatar Yun Peng <pcloudy@google.com>2017-09-07 09:57:15 +0200
commit1099b54281c51f947ecaa93e2b6569460f2895fa (patch)
treee55ed76b7162cc3aa1464b9556525b062f8a6e98 /src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
parent4a12e66757a5d12080744c7289342db1a0f67df7 (diff)
RuleContext instances obtained through BuildViewTestCase#getRuleContext have a
ToolchainContext. PiperOrigin-RevId: 167729868
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/BuildView.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/BuildView.java21
1 files changed, 16 insertions, 5 deletions
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 9708f3eb8b..7797838c06 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
@@ -86,6 +86,7 @@ import com.google.devtools.build.lib.skyframe.CoverageReportValue;
import com.google.devtools.build.lib.skyframe.SkyframeAnalysisResult;
import com.google.devtools.build.lib.skyframe.SkyframeBuildView;
import com.google.devtools.build.lib.skyframe.SkyframeExecutor;
+import com.google.devtools.build.lib.skyframe.ToolchainUtil.ToolchainContextException;
import com.google.devtools.build.lib.syntax.EvalException;
import com.google.devtools.build.lib.syntax.SkylarkImport;
import com.google.devtools.build.lib.syntax.SkylarkImports;
@@ -1225,10 +1226,11 @@ public class BuildView {
*/
@VisibleForTesting
public RuleContext getRuleContextForTesting(
- ConfiguredTarget target, StoredEventHandler eventHandler,
+ ConfiguredTarget target,
+ StoredEventHandler eventHandler,
BuildConfigurationCollection configurations)
throws EvalException, InvalidConfigurationException, InterruptedException,
- InconsistentAspectOrderException {
+ InconsistentAspectOrderException, ToolchainContextException {
BuildConfiguration targetConfig = target.getConfiguration();
CachingAnalysisEnvironment env =
new CachingAnalysisEnvironment(getArtifactFactory(),
@@ -1243,12 +1245,20 @@ public class BuildView {
* given configured target.
*/
@VisibleForTesting
- public RuleContext getRuleContextForTesting(ExtendedEventHandler eventHandler,
+ public RuleContext getRuleContextForTesting(
+ ExtendedEventHandler eventHandler,
ConfiguredTarget target,
- AnalysisEnvironment env, BuildConfigurationCollection configurations)
+ AnalysisEnvironment env,
+ BuildConfigurationCollection configurations)
throws EvalException, InvalidConfigurationException, InterruptedException,
- InconsistentAspectOrderException {
+ InconsistentAspectOrderException, ToolchainContextException {
BuildConfiguration targetConfig = target.getConfiguration();
+ List<Label> requiredToolchains =
+ target.getTarget().getAssociatedRule().getRuleClassObject().getRequiredToolchains();
+ ToolchainContext toolchainContext =
+ skyframeExecutor.getToolchainContextForTesting(
+ requiredToolchains, targetConfig, eventHandler);
+
return new RuleContext.Builder(
env,
(Rule) target.getTarget(),
@@ -1263,6 +1273,7 @@ public class BuildView {
.setPrerequisites(getPrerequisiteMapForTesting(eventHandler, target, configurations))
.setConfigConditions(ImmutableMap.<Label, ConfigMatchingProvider>of())
.setUniversalFragment(ruleClassProvider.getUniversalFragment())
+ .setToolchainContext(toolchainContext)
.build();
}