From 2ee0b3c0643d713c3b76d832a7e207416b7406b8 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Thu, 27 Apr 2017 13:24:05 +0100 Subject: [PATCH] Exclude "new" from startup messages Fixes #3097 --- main/src/main/scala/sbt/Main.scala | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/main/src/main/scala/sbt/Main.scala b/main/src/main/scala/sbt/Main.scala index 0ceb4db02..34c85f25b 100644 --- a/main/src/main/scala/sbt/Main.scala +++ b/main/src/main/scala/sbt/Main.scala @@ -18,7 +18,7 @@ import java.net.URI import java.util.Locale import scala.util.control.NonFatal -import BasicCommandStrings.Shell +import BasicCommandStrings.{ Shell, TemplateCommand } import CommandStrings.BootCommand /** This class is the entry point for sbt. */ @@ -559,8 +559,10 @@ object BuiltinCommands { } } + private def intendsToInvokeNew(state: State) = state.remainingCommands contains TemplateCommand + private def writeSbtVersion(state: State) = - if (!java.lang.Boolean.getBoolean("sbt.skip.version.write")) + if (!java.lang.Boolean.getBoolean("sbt.skip.version.write") && !intendsToInvokeNew(state)) writeSbtVersionUnconditionally(state) private def WriteSbtVersion = "write-sbt-version" @@ -575,7 +577,7 @@ object BuiltinCommands { (state.remainingCommands.lastOption exists (_ == s"$IfLast $Shell")) private def notifyUsersAboutShell(state: State) = - if (isInteractive && !intendsToInvokeShell(state)) { + if (isInteractive && !intendsToInvokeShell(state) && !intendsToInvokeNew(state)) { state.log warn "Executing in batch mode." state.log warn " For better performance, hit [ENTER] to switch to interactive mode, or" state.log warn " consider launching sbt without any commands, or explicitly passing 'shell'"