diff options
author | 2017-09-06 18:19:20 +0200 | |
---|---|---|
committer | 2017-09-07 09:57:15 +0200 | |
commit | 1099b54281c51f947ecaa93e2b6569460f2895fa (patch) | |
tree | e55ed76b7162cc3aa1464b9556525b062f8a6e98 /src/main/java/com/google/devtools/build/lib/analysis/BuildView.java | |
parent | 4a12e66757a5d12080744c7289342db1a0f67df7 (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.java | 21 |
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(); } |