aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar Laurent Le Brun <laurentlb@google.com>2016-11-04 15:53:08 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2016-11-04 16:06:07 +0000
commitfa407e52920a9c187befc94cc13014c19dd6219d (patch)
tree4eff994d27e8cd670499cffd0f9765f544d43794 /src/main/java/com/google/devtools
parent909910c3beddde138c70b90ec0b7c7b431a835a2 (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.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java5
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");
}
}