aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java5
2 files changed, 9 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
index 8464ded1a9..fb6fcf1a43 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
@@ -30,6 +30,7 @@ import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
import com.google.devtools.build.lib.syntax.ClassObject;
import com.google.devtools.build.lib.syntax.EvalException;
import com.google.devtools.build.lib.syntax.EvalUtils;
+import com.google.devtools.build.lib.syntax.Printer;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Consumer;
import javax.annotation.Nullable;
@@ -128,8 +129,11 @@ public abstract class AbstractConfiguredTarget
if (declaredProvider != null) {
return declaredProvider;
}
- throw new EvalException(loc, String.format(
- "Object of type Target doesn't contain declared provider %s",
+ throw new EvalException(loc, Printer.format(
+ "%r%s doesn't contain declared provider '%s'",
+ this,
+ getTarget().getAssociatedRule() == null ? ""
+ : " (rule '" + getTarget().getAssociatedRule().getRuleClass() + "')",
constructor.getPrintableName()));
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
index d7af3d42de..8f6b61cbc3 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
@@ -23,6 +23,7 @@ import com.google.devtools.build.lib.packages.Rule;
import com.google.devtools.build.lib.packages.SkylarkClassObject;
import com.google.devtools.build.lib.rules.SkylarkApiProvider;
import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Printer;
import com.google.devtools.build.lib.util.Preconditions;
import java.util.function.Consumer;
import javax.annotation.Nullable;
@@ -113,8 +114,8 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget {
@Override
public String errorMessage(String name) {
- return String.format("target (rule class of '%s') doesn't have provider '%s'.",
- getTarget().getRuleClass(), name);
+ return Printer.format("%r (rule '%s') doesn't have provider '%s'",
+ this, getTarget().getRuleClass(), name);
}
@Override