aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
diff options
context:
space:
mode:
authorGravatar mstaib <mstaib@google.com>2017-05-16 16:34:58 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-05-17 15:17:56 +0200
commitde92f9d8ea093416fae999073bbfcf3cf501ab55 (patch)
treeed24c618c90628cdf3f1fe9e369b3a915e9ec570 /src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
parent7184b6f55a8cb72094a481d056fe89bc7be80c76 (diff)
Automated g4 rollback of commit b71e99b1f3746103e5d6802eebc24096b3494959.
*** Reason for rollback *** Causes crash bug in certain circumstances. *** Original change description *** Implement dynamically configured LIPO builds. Quick overview: - provide a dynamic interface for getting the artifact owner configuration - provide a (dynamic) RuleTransitionFactory LIPO_ON_DEMAND to replace the (static) RuleClass.Configurator LIPO_ON_DEMAND. Eventually we'll remove the rule class configurator interface entirely. This doesn't actually turn dynamic LIPO on. So the direct effect of this change should be a no-op. The flip will come in a followup change. For now, dynamic... PiperOrigin-RevId: 156180015
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index 77d8394679..b28b237eab 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -1466,17 +1466,10 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
BuildConfiguration configuration,
Attribute.Transition transition) {
- if (configuration != null && !configuration.useDynamicConfigurations()
- && transition != ConfigurationTransition.NONE) {
- // It's illegal to apply this transition over a statically configured build. But C++ LIPO
- // support works by applying a rule configurator for static configurations and a rule
- // transition applier for dynamic configurations. Dynamically configured builds skip
- // the configurator and this code makes statically configured builds skip the rule transition
- // applier.
- //
- // This will all get a lot simpler once static configurations are removed entirely.
- transition = ConfigurationTransition.NONE;
- }
+ Preconditions.checkArgument(configuration == null
+ || configuration.useDynamicConfigurations()
+ || transition == ConfigurationTransition.NONE,
+ "Dynamic configurations required for test configuration using a transition");
if (memoizingEvaluator.getExistingValueForTesting(
PrecomputedValue.WORKSPACE_STATUS_KEY.getKeyForTesting()) == null) {