diff options
author | Ulf Adams <ulfjack@google.com> | 2016-01-20 10:35:19 +0000 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@google.com> | 2016-01-20 11:36:55 +0000 |
commit | a47ca0114e2ea79fa2ebfc317889377ae7e8427f (patch) | |
tree | 44f6ad6ca02220ce36e1eefcda147f8a584ec998 /src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java | |
parent | 520f3c583f6ca89041ce47dfc0178e2810e2f428 (diff) |
Fix a couple of bugs related to error handling for top-level aspects.
--
MOS_MIGRATED_REVID=112561390
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java index cac4c02216..a883d60b30 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelSkylarkAspectFunction.java @@ -17,8 +17,10 @@ package com.google.devtools.build.lib.skyframe; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.packages.AspectParameters; import com.google.devtools.build.lib.rules.SkylarkRuleClassFunctions.SkylarkAspect; +import com.google.devtools.build.lib.skyframe.AspectFunction.AspectCreationException; import com.google.devtools.build.lib.skyframe.AspectValue.SkylarkAspectLoadingKey; import com.google.devtools.build.lib.skyframe.SkylarkImportLookupFunction.SkylarkImportFailedException; import com.google.devtools.build.lib.syntax.Type.ConversionException; @@ -53,6 +55,7 @@ public class ToplevelSkylarkAspectFunction implements SkyFunction { labelLookupMap = SkylarkImportLookupFunction.labelsForAbsoluteImports(ImmutableSet.of(extensionFile), env); } catch (SkylarkImportFailedException e) { + env.getListener().handle(Event.error(e.getMessage())); throw new LoadSkylarkAspectFunctionException(e, skyKey); } if (labelLookupMap == null) { @@ -63,8 +66,14 @@ public class ToplevelSkylarkAspectFunction implements SkyFunction { try { skylarkAspect = AspectFunction.loadSkylarkAspect( env, labelLookupMap.get(extensionFile), skylarkValueName); + } catch (SkylarkImportFailedException e) { + env.getListener().handle(Event.error(e.getMessage())); + throw new LoadSkylarkAspectFunctionException( + new AspectCreationException(e.getMessage()), skyKey); } catch (ConversionException e) { - throw new LoadSkylarkAspectFunctionException(e, skyKey); + env.getListener().handle(Event.error(e.getMessage())); + throw new LoadSkylarkAspectFunctionException( + new AspectCreationException(e.getMessage()), skyKey); } if (skylarkAspect == null) { return null; |