aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages
diff options
context:
space:
mode:
authorGravatar Laszlo Csomor <laszlocsomor@google.com>2016-01-22 10:03:19 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-01-22 15:55:14 +0000
commitfbdfa61450a4f30f1793c3e90edb9414a3ee759e (patch)
tree33eb882887566939d71bb90e6c4a7e1403d813d6 /src/main/java/com/google/devtools/build/lib/packages
parent85c63c49138f106b6adebc2affc4edb97f8f11e1 (diff)
Skylark, JS: nicer error message when a source file has an unknown type.
-- MOS_MIGRATED_REVID=112766003
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/AnalysisIssues.java31
1 files changed, 29 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AnalysisIssues.java b/src/main/java/com/google/devtools/build/lib/packages/AnalysisIssues.java
index 8ccdf64dc0..fe5ac8701d 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AnalysisIssues.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AnalysisIssues.java
@@ -13,7 +13,6 @@
// limitations under the License.
package com.google.devtools.build.lib.packages;
-import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.util.Preconditions;
@@ -57,6 +56,15 @@ public final class AnalysisIssues extends Exception {
}
}
+ private void reportTo(StringBuilder sb) {
+ String msg = String.format(messageTemplate, arguments);
+ if (attribute == null) {
+ sb.append("ERROR: ").append(msg);
+ } else {
+ sb.append("ERROR: in attribute \"").append(attribute).append("\": ").append(msg);
+ }
+ }
+
@Override
public String toString() {
if (attribute == null) {
@@ -102,8 +110,27 @@ public final class AnalysisIssues extends Exception {
}
}
+ @Nullable
+ private String asString() {
+ if (entries == null) {
+ return null;
+ }
+
+ StringBuilder sb = new StringBuilder();
+ for (Entry e : entries) {
+ e.reportTo(sb);
+ }
+ return sb.toString();
+ }
+
+ @Override
+ public String getMessage() {
+ return asString();
+ }
+
@Override
public String toString() {
- return "Errors during analysis:\n" + Joiner.on("\n").join(entries);
+ String s = asString();
+ return s == null ? "" : s;
}
}