diff options
author | Laszlo Csomor <laszlocsomor@google.com> | 2016-01-22 10:03:19 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2016-01-22 15:55:14 +0000 |
commit | fbdfa61450a4f30f1793c3e90edb9414a3ee759e (patch) | |
tree | 33eb882887566939d71bb90e6c4a7e1403d813d6 /src/main/java/com/google/devtools/build/lib/packages | |
parent | 85c63c49138f106b6adebc2affc4edb97f8f11e1 (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.java | 31 |
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; } } |