aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2016-03-23 15:48:50 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-03-23 15:52:08 +0000
commit0773430188885e075121ebf720c82bb05a39db21 (patch)
treebf3139031104fb500d64d6620ae327640cb0b122 /src/main/java/com/google/devtools/build/lib
parentc86ed14323fce0b8c87fdbad9c0ea6d9f264c5d3 (diff)
Correctly reports error in the workspace file
The previous implementation was hiding errors from before a load statement as a result of the workspace split. -- MOS_MIGRATED_REVID=117933781
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java
index 2e0843ca33..b7edfeee04 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryFunction.java
@@ -21,6 +21,7 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
+import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.packages.AggregatingAttributeMapper;
import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
@@ -330,9 +331,9 @@ public abstract class RepositoryFunction {
if (value == null) {
return null;
}
- // TODO(dmarting): stop at cycle and report a more intelligible error than cycle reporting.
Package externalPackage = value.getPackage();
if (externalPackage.containsErrors()) {
+ Event.replayEventsOn(env.getListener(), externalPackage.getEvents());
throw new RepositoryFunctionException(
new BuildFileContainsErrorsException(
Label.EXTERNAL_PACKAGE_IDENTIFIER, "Could not load //external package"),