From 306ee82db3e885ffadbaba9ced542c960363436f Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Wed, 27 Jun 2018 07:09:59 -0400 Subject: [PATCH] Use MessageOnlyException for "Nonzero exit code" --- build.sbt | 2 +- run/src/main/scala/sbt/Run.scala | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index 93237deed..ee744ae6c 100644 --- a/build.sbt +++ b/build.sbt @@ -302,7 +302,7 @@ lazy val runProj = (project in file("run")) exclude[DirectMissingMethodProblem]("sbt.OutputStrategy#LoggedOutput.copy$default$*"), ) ) - .configure(addSbtIO, addSbtUtilLogging, addSbtCompilerClasspath) + .configure(addSbtIO, addSbtUtilLogging, addSbtUtilControl, addSbtCompilerClasspath) val sbtProjDepsCompileScopeFilter = ScopeFilter(inDependencies(LocalProject("sbtProj"), includeRoot = false), inConfigurations(Compile)) diff --git a/run/src/main/scala/sbt/Run.scala b/run/src/main/scala/sbt/Run.scala index a1fb598d6..6c6e599a6 100644 --- a/run/src/main/scala/sbt/Run.scala +++ b/run/src/main/scala/sbt/Run.scala @@ -12,6 +12,7 @@ import java.lang.reflect.{ Method, Modifier } import Modifier.{ isPublic, isStatic } import sbt.internal.inc.classpath.ClasspathUtilities import sbt.internal.inc.ScalaInstance +import sbt.internal.util.MessageOnlyException import sbt.io.Path @@ -29,7 +30,9 @@ class ForkRun(config: ForkOptions) extends ScalaRun { if (exitCode == 0) Success(()) else Failure( - new RuntimeException(s"""Nonzero exit code returned from $label: $exitCode""".stripMargin) + new MessageOnlyException( + s"""Nonzero exit code returned from $label: $exitCode""".stripMargin + ) ) val process = fork(mainClass, classpath, options, log) def cancel() = { @@ -124,6 +127,6 @@ object Run { if (exitCode == 0) { log.debug("Exited with code 0") Success(()) - } else Failure(new RuntimeException("Nonzero exit code: " + exitCode)) + } else Failure(new MessageOnlyException("Nonzero exit code: " + exitCode)) } }