aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
diff options
context:
space:
mode:
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.java11
1 files changed, 9 insertions, 2 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 07f54837b6..0869785195 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
@@ -897,7 +897,8 @@ public class BuildView {
/*isSystemEnv=*/false, config.extendedSanityChecks(), eventHandler,
/*skyframeEnv=*/null, config.isActionsEnabled(), binTools);
return new RuleContext.Builder(analysisEnvironment,
- (Rule) target.getTarget(), config, ruleClassProvider.getPrerequisiteValidator())
+ (Rule) target.getTarget(), config, getHostConfigurationForTesting(config),
+ ruleClassProvider.getPrerequisiteValidator())
.setVisibility(NestedSetBuilder.<PackageSpecification>create(
Order.STABLE_ORDER, PackageSpecification.EVERYTHING))
.setPrerequisites(getPrerequisiteMapForTesting(target))
@@ -911,8 +912,9 @@ public class BuildView {
*/
@VisibleForTesting
public RuleContext getRuleContextForTesting(ConfiguredTarget target, AnalysisEnvironment env) {
+ BuildConfiguration targetConfig = target.getConfiguration();
return new RuleContext.Builder(
- env, (Rule) target.getTarget(), target.getConfiguration(),
+ env, (Rule) target.getTarget(), targetConfig, getHostConfigurationForTesting(targetConfig),
ruleClassProvider.getPrerequisiteValidator())
.setVisibility(NestedSetBuilder.<PackageSpecification>create(
Order.STABLE_ORDER, PackageSpecification.EVERYTHING))
@@ -921,6 +923,11 @@ public class BuildView {
.build();
}
+ private BuildConfiguration getHostConfigurationForTesting(BuildConfiguration config) {
+ // TODO(bazel-team): support dynamic transitions in tests.
+ return config == null ? null : config.getConfiguration(Attribute.ConfigurationTransition.HOST);
+ }
+
/**
* For a configured target dependentTarget, returns the desired configured target
* that is depended upon. Useful for obtaining the a target with aspects