aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/BuildView.java35
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java6
3 files changed, 27 insertions, 18 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 29bfd34894..92290ac959 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
@@ -354,20 +354,23 @@ public class BuildView {
return getConfiguredTarget(packageManager.getLoadedTarget(label), config);
}
- public Iterable<ConfiguredTarget> getDirectPrerequisites(ConfiguredTarget ct)
+ public Iterable<ConfiguredTarget> getDirectPrerequisites(ConfiguredTarget ct,
+ BuildConfigurationCollection configurations)
throws InterruptedException {
- return getDirectPrerequisites(ct, null);
+ return getDirectPrerequisites(ct, null, configurations);
}
public Iterable<ConfiguredTarget> getDirectPrerequisites(
- ConfiguredTarget ct, @Nullable final LoadingCache<Label, Target> targetCache)
+ ConfiguredTarget ct, @Nullable final LoadingCache<Label, Target> targetCache,
+ BuildConfigurationCollection configurations)
throws InterruptedException {
return skyframeExecutor.getConfiguredTargets(ct.getConfiguration(),
- getDirectPrerequisiteDependencies(ct, targetCache), false);
+ getDirectPrerequisiteDependencies(ct, targetCache, configurations), false);
}
public Iterable<Dependency> getDirectPrerequisiteDependencies(
- ConfiguredTarget ct, @Nullable final LoadingCache<Label, Target> targetCache)
+ ConfiguredTarget ct, @Nullable final LoadingCache<Label, Target> targetCache,
+ BuildConfigurationCollection configurations)
throws InterruptedException {
if (!(ct.getTarget() instanceof Rule)) {
return ImmutableList.of();
@@ -888,9 +891,9 @@ public class BuildView {
null);
}
- @VisibleForTesting
- ListMultimap<Attribute, ConfiguredTarget> getPrerequisiteMapForTesting(ConfiguredTarget target)
- throws InterruptedException {
+ private ListMultimap<Attribute, ConfiguredTarget> getPrerequisiteMapForTesting(
+ ConfiguredTarget target, BuildConfigurationCollection configurations)
+ throws InterruptedException {
DependencyResolver resolver = new DependencyResolver() {
@Override
protected void invalidVisibilityReferenceHook(TargetAndConfiguration node, Label label) {
@@ -988,7 +991,8 @@ public class BuildView {
*/
@VisibleForTesting
public RuleContext getRuleContextForTesting(
- ConfiguredTarget target, StoredEventHandler eventHandler) throws InterruptedException {
+ ConfiguredTarget target, StoredEventHandler eventHandler,
+ BuildConfigurationCollection configurations) throws InterruptedException {
BuildConfiguration config = target.getConfiguration();
CachingAnalysisEnvironment analysisEnvironment =
new CachingAnalysisEnvironment(artifactFactory,
@@ -1000,7 +1004,7 @@ public class BuildView {
ruleClassProvider.getPrerequisiteValidator())
.setVisibility(NestedSetBuilder.<PackageSpecification>create(
Order.STABLE_ORDER, PackageSpecification.EVERYTHING))
- .setPrerequisites(getPrerequisiteMapForTesting(target))
+ .setPrerequisites(getPrerequisiteMapForTesting(target, configurations))
.setConfigConditions(ImmutableSet.<ConfigMatchingProvider>of())
.build();
}
@@ -1010,15 +1014,15 @@ public class BuildView {
* given configured target.
*/
@VisibleForTesting
- public RuleContext getRuleContextForTesting(ConfiguredTarget target, AnalysisEnvironment env)
- throws InterruptedException {
+ public RuleContext getRuleContextForTesting(ConfiguredTarget target, AnalysisEnvironment env,
+ BuildConfigurationCollection configurations) throws InterruptedException {
BuildConfiguration targetConfig = target.getConfiguration();
return new RuleContext.Builder(
env, (Rule) target.getTarget(), targetConfig, configurations.getHostConfiguration(),
ruleClassProvider.getPrerequisiteValidator())
.setVisibility(NestedSetBuilder.<PackageSpecification>create(
Order.STABLE_ORDER, PackageSpecification.EVERYTHING))
- .setPrerequisites(getPrerequisiteMapForTesting(target))
+ .setPrerequisites(getPrerequisiteMapForTesting(target, configurations))
.setConfigConditions(ImmutableSet.<ConfigMatchingProvider>of())
.build();
}
@@ -1030,10 +1034,11 @@ public class BuildView {
*/
@VisibleForTesting
public ConfiguredTarget getPrerequisiteConfiguredTargetForTesting(
- ConfiguredTarget dependentTarget, ConfiguredTarget desiredTarget)
+ ConfiguredTarget dependentTarget, ConfiguredTarget desiredTarget,
+ BuildConfigurationCollection configurations)
throws InterruptedException {
Collection<ConfiguredTarget> configuredTargets =
- getPrerequisiteMapForTesting(dependentTarget).values();
+ getPrerequisiteMapForTesting(dependentTarget, configurations).values();
for (ConfiguredTarget ct : configuredTargets) {
if (ct.getLabel().equals(desiredTarget.getLabel())) {
return ct;
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
index 12fd6cae3d..3d5cfb4c00 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
@@ -219,6 +219,10 @@ public abstract class AnalysisTestCase extends FoundationTestCase {
return analysisResult.getActionGraph().getGeneratingAction(artifact);
}
+ protected BuildConfigurationCollection getBuildConfigurationCollection() {
+ return masterConfig;
+ }
+
protected BuildConfiguration getTargetConfiguration() {
return Iterables.getOnlyElement(masterConfig.getTargetConfigurations());
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index 3b459ed433..38b73551ae 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -390,7 +390,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
*/
protected Iterable<ConfiguredTarget> getDirectPrerequisites(ConfiguredTarget target)
throws InterruptedException {
- return view.getDirectPrerequisites(target);
+ return view.getDirectPrerequisites(target, masterConfig);
}
/**
@@ -440,7 +440,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
* given configured target.
*/
protected RuleContext getRuleContext(ConfiguredTarget target) throws InterruptedException {
- return view.getRuleContextForTesting(target, new StubAnalysisEnvironment());
+ return view.getRuleContextForTesting(target, new StubAnalysisEnvironment(), masterConfig);
}
/**
@@ -460,7 +460,7 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
reporter.handle(e);
}
};
- return view.getRuleContextForTesting(target, eventHandler);
+ return view.getRuleContextForTesting(target, eventHandler, masterConfig);
}
/**