diff options
author | Laurent Le Brun <laurentlb@google.com> | 2016-11-04 15:53:08 +0000 |
---|---|---|
committer | Laszlo Csomor <laszlocsomor@google.com> | 2016-11-04 16:06:07 +0000 |
commit | fa407e52920a9c187befc94cc13014c19dd6219d (patch) | |
tree | 4eff994d27e8cd670499cffd0f9765f544d43794 /src/main/java/com/google/devtools | |
parent | 909910c3beddde138c70b90ec0b7c7b431a835a2 (diff) |
EvalException can now show a url for additional information
Add doc for the "read only" error message.
--
MOS_MIGRATED_REVID=138194709
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/EvalException.java | 10 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java | 5 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/EvalException.java b/src/main/java/com/google/devtools/build/lib/syntax/EvalException.java index 97d695f91d..ed914594d6 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/EvalException.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/EvalException.java @@ -51,6 +51,16 @@ public class EvalException extends Exception { this.dueToIncompleteAST = false; } + public EvalException(Location location, String message, String url) { + this.location = location; + this.dueToIncompleteAST = false; + this.message = + Preconditions.checkNotNull(message) + + "\n" + + "Need help? See " + + Preconditions.checkNotNull(url); + } + /** * @param location the location where evaluation/execution failed. * @param message the error message. diff --git a/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java b/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java index c1a94c5084..6aa5a7dd52 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java @@ -90,7 +90,10 @@ public final class ValidationEnvironment { private void checkReadonly(String varname, Location location) throws EvalException { if (readOnlyVariables.contains(varname)) { - throw new EvalException(location, String.format("Variable %s is read only", varname)); + throw new EvalException( + location, + String.format("Variable %s is read only", varname), + "https://bazel.build/versions/master/docs/skylark/errors/read-only-variable.html"); } } |