aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe
diff options
context:
space:
mode:
authorGravatar Greg Estren <gregce@google.com>2015-11-13 17:25:36 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-11-16 09:00:29 +0000
commitc5a352ffba8a195817c541c8450fb3958accf1df (patch)
tree9717d7388b0d3aa5637b3ae49648b3f90771cb47 /src/main/java/com/google/devtools/build/lib/skyframe
parentf97a44798510160dcba7dbf600e2199ac1a4b145 (diff)
Add the concept of a "universal" configuration fragment, which all
configurations contain regardless of whether their rules explicitly require it. This is used to ensure all rules have BazelConfiguration. That fragment supplies the path to the shell, which powers BuildConfiguration.getShExecutable(), which powers any rule that generates a SpawnAction. Since SpawnActions are such a ubiquitous pattern we only want to accelerate going forward, there's no point not to make this automatically available to every rule. -- MOS_MIGRATED_REVID=107786879
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.java2
1 files changed, 2 insertions, 0 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 280e1a2277..86a50b890d 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
@@ -145,6 +145,8 @@ public class TransitiveTargetFunction
fragment.asSubclass(BuildConfiguration.Fragment.class));
}
}
+ builder.getTransitiveConfigFragments().add(
+ ruleClassProvider.getUniversalFragment().asSubclass(BuildConfiguration.Fragment.class));
}
return builder.build(errorLoadingTarget);