From 40b647e599737eecb434d40cb1c3ae6508567a52 Mon Sep 17 00:00:00 2001 From: David Perez Date: Fri, 8 May 2015 09:29:41 +0200 Subject: [PATCH] Issue 2008: provide more diagnostic info for undefined setting --- util/collection/src/main/scala/sbt/Settings.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/util/collection/src/main/scala/sbt/Settings.scala b/util/collection/src/main/scala/sbt/Settings.scala index 38d2c2f5f..4266af1b6 100644 --- a/util/collection/src/main/scala/sbt/Settings.scala +++ b/util/collection/src/main/scala/sbt/Settings.scala @@ -244,7 +244,12 @@ trait Init[Scope] { @deprecated("Use the non-deprecated Undefined factory method.", "0.13.1") def this(definingKey: ScopedKey[_], referencedKey: ScopedKey[_], derived: Boolean) = this(fakeUndefinedSetting(definingKey, derived), referencedKey) } - final class RuntimeUndefined(val undefined: Seq[Undefined]) extends RuntimeException("References to undefined settings at runtime.") + final class RuntimeUndefined(val undefined: Seq[Undefined]) extends RuntimeException("References to undefined settings at runtime.") { + override def getMessage = + super.getMessage + undefined.map { u => + "\n" + u.defining + " referenced from " + u.referencedKey + }.mkString + } @deprecated("Use the other overload.", "0.13.1") def Undefined(definingKey: ScopedKey[_], referencedKey: ScopedKey[_], derived: Boolean): Undefined =