From 1e2617a8074a5810adef4bccfba6f521b96508cb Mon Sep 17 00:00:00 2001 From: David Perez Date: Tue, 1 Sep 2015 14:16:41 +0200 Subject: [PATCH] More robustness when using the tasks and settings command --- main/src/main/scala/sbt/Main.scala | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/Main.scala b/main/src/main/scala/sbt/Main.scala index f2fe6ff6b..e66b0cc1f 100644 --- a/main/src/main/scala/sbt/Main.scala +++ b/main/src/main/scala/sbt/Main.scala @@ -16,6 +16,7 @@ import StandardMain._ import java.io.File import java.net.URI import java.util.Locale +import scala.util.control.NonFatal /** This class is the entry point for sbt.*/ final class xMain extends xsbti.AppMain { @@ -177,7 +178,15 @@ object BuiltinCommands { val extracted = Project.extract(s) import extracted._ val index = structure.index - index.keyIndex.keys(Some(currentRef)).toSeq.map(index.keyMap).distinct + index.keyIndex.keys(Some(currentRef)).toSeq.map { key => + try + Some(index.keyMap(key)) + catch { + case NonFatal(ex) => + s.log error ex.getMessage + None + } + }.collect { case Some(s) => s }.distinct } def sortByLabel(keys: Seq[AttributeKey[_]]): Seq[AttributeKey[_]] = keys.sortBy(_.label)