aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
diff options
context:
space:
mode:
authorGravatar Greg Estren <gregce@google.com>2015-11-11 22:34:05 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2015-11-12 09:01:58 +0000
commit3f241a4869370f124edc764a4f81cd8a35da7ad1 (patch)
treeb908f3557686e6de0dd306630fc0c91809b6434c /src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
parentfab4b888b4d0739e9269ecc0a6545e35fa185f66 (diff)
When determining a dep's dynamic configuration, apply the
configuration transition *before* trimming the options. This is because the transition may read fragments that aren't in the dep itself. -- MOS_MIGRATED_REVID=107624186
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
index 76ac0f8665..d706363952 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
@@ -403,15 +403,15 @@ final class ConfiguredTargetFunction implements SkyFunction {
Verify.verify(transition == Attribute.ConfigurationTransition.NONE
|| transition instanceof PatchTransition);
BuildOptions fromOptions = ctgOptions;
- if (!sameFragments) {
- // TODO(bazel-team): pre-compute getOptionsClasses in the constructor.
- fromOptions = fromOptions.trim(BuildConfiguration.getOptionsClasses(
- transitiveDepInfo.getTransitiveConfigFragments(), ruleClassProvider));
- }
// TODO(bazel-team): safety-check that the below call never mutates fromOptions.
toOptions = transition == Attribute.ConfigurationTransition.NONE
? fromOptions
: ((PatchTransition) transition).apply(fromOptions);
+ if (!sameFragments) {
+ // TODO(bazel-team): pre-compute getOptionsClasses in the constructor.
+ toOptions = toOptions.trim(BuildConfiguration.getOptionsClasses(
+ transitiveDepInfo.getTransitiveConfigFragments(), ruleClassProvider));
+ }
transitionsMap.put(transitionKey, toOptions);
}