diff options
author | 2016-10-25 16:16:35 +0000 | |
---|---|---|
committer | 2016-10-25 20:19:29 +0000 | |
commit | b4f461ecc183d9adc9482f4cad848687ed0227ee (patch) | |
tree | 148126cf5b6f1002c1d4391fe74c13af736fd74e /src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java | |
parent | 7260f0a2c69bfe0fec187099fcea2dd16c331729 (diff) |
Add new skyframe function to lookup the repository given a path, and use that
to report invalid package references. Fixes #1592.
--
MOS_MIGRATED_REVID=137164164
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java index 87ec20c159..faacb3c92d 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java @@ -110,7 +110,11 @@ public class WorkspaceFileFunction implements SkyFunction { return null; } parser.execute(ast, importResult.importMap); - } catch (PackageFunctionException | NameConflictException e) { + } catch (PackageFunctionException e) { + // TODO(jcater): Unwrap the PackageFunctionException and handle the underlying error. + // PFE shouldn't be exposed to callers. + throw new WorkspaceFileFunctionException(e, Transience.PERSISTENT); + } catch (NameConflictException e) { throw new WorkspaceFileFunctionException(e, Transience.PERSISTENT); } @@ -129,12 +133,12 @@ public class WorkspaceFileFunction implements SkyFunction { } private static final class WorkspaceFileFunctionException extends SkyFunctionException { - public WorkspaceFileFunctionException(Exception e, Transience transience) { + public WorkspaceFileFunctionException(PackageFunctionException e, Transience transience) { super(e, transience); } - public WorkspaceFileFunctionException(Exception e) { - super(e, Transience.PERSISTENT); + public WorkspaceFileFunctionException(NameConflictException e, Transience transience) { + super(e, transience); } } } |