diff options
author | Ulf Adams <ulfjack@google.com> | 2016-01-25 10:31:46 +0000 |
---|---|---|
committer | Kristina Chodorow <kchodorow@google.com> | 2016-01-25 16:51:11 +0000 |
commit | 25f03d88b28efd47fb5cfefb7a4b477454d8a2d6 (patch) | |
tree | a57f9db8c5b1efd6915a4cc43afe7a29258f4751 /src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java | |
parent | 9668361ba9db4b3d2b05e5e33e2c82a7f1085f2b (diff) |
Move analysis root cause tracking to the ConfiguredTargetFunction.
The main remaining problem with interleaved loading and analysis is error
handling. When interleaving, we don't run a real loading phase anymore, and
loading errors can occur during the analysis phase, and need to be handled
there.
The plan is to have ConfiguredTargetFunction throw a
ConfiguredValueCreationException with a list of all loading root causes, which
requires that we also catch ConfiguredValueCreationException here, which in
turn breaks analysis root cause handling, as that is currently relying on
Skyframe root cause tracking.
Moving analysis root cause handling into CTFunction makes it possible to
subsequently also implement loading root cause handling here. This is also
necessary if we want to have complete root cause handling in the general case:
a target may have any number (and combination) of loading and analysis root
causes at the same time.
For now, we only pass a single analysis root cause, which mirrors the current
Skyframe-based implementation.
--
MOS_MIGRATED_REVID=112930871
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java index 9b5bdad15c..15498ce490 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java @@ -54,8 +54,7 @@ public class BuildConfigurationFunction implements SkyFunction { } @Override - public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException, - SkyFunctionException { + public SkyValue compute(SkyKey skyKey, Environment env) throws SkyFunctionException { BuildConfigurationValue.Key key = (BuildConfigurationValue.Key) skyKey.argument(); Set<Fragment> fragments; try { |