aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe
diff options
context:
space:
mode:
authorGravatar Michael Staib <mstaib@google.com>2015-09-29 23:31:51 +0000
committerGravatar Florian Weikert <fwe@google.com>2015-09-30 09:36:25 +0000
commitb51251ed0df121b50fba315d4eee17fa40049e83 (patch)
treed36907ff0df148711168c8cfaa8cc2eb43201f61 /src/main/java/com/google/devtools/build/lib/skyframe
parent5fb1073d31e392e2f39a067647337043500b348e (diff)
Extract configuration fragment access logic into ConfigurationFragmentPolicy.
This is the first step toward giving aspects the ability to define their own required configuration fragments, extracting the required configuration metadata into a common place. This should be a no-op refactoring. -- MOS_MIGRATED_REVID=104249500
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java
index 06e068dd2e..8053543fab 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java
@@ -26,6 +26,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.packages.AspectDefinition;
import com.google.devtools.build.lib.packages.Attribute;
+import com.google.devtools.build.lib.packages.ConfigurationFragmentPolicy;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
import com.google.devtools.build.lib.packages.NoSuchTargetException;
import com.google.devtools.build.lib.packages.NoSuchThingException;
@@ -136,8 +137,10 @@ public class TransitiveTargetFunction
// Get configuration fragments directly required by this target.
if (target instanceof Rule) {
+ ConfigurationFragmentPolicy configurationFragmentPolicy =
+ target.getAssociatedRule().getRuleClassObject().getConfigurationFragmentPolicy();
Set<Class<?>> configFragments =
- target.getAssociatedRule().getRuleClassObject().getRequiredConfigurationFragments();
+ configurationFragmentPolicy.getRequiredConfigurationFragments();
// An empty result means this rule requires all fragments (which practically means
// the rule isn't yet declaring its actually needed fragments). So load everything.
configFragments = configFragments.isEmpty() ? getAllFragments() : configFragments;