From 731af0173ce3b10d3b95716d04d5e3120bdb9978 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 7 May 2023 13:46:43 -0400 Subject: [PATCH 1/2] Add init as an alias to new --- main-command/src/main/scala/sbt/BasicCommandStrings.scala | 1 + main/src/main/scala/sbt/Main.scala | 7 ++++--- main/src/main/scala/sbt/TemplateCommandUtil.scala | 7 ++++--- sbt-app/src/sbt-test/java/argfile/build.sbt | 2 +- sbt-app/src/sbt-test/java/argfile/test | 2 +- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/main-command/src/main/scala/sbt/BasicCommandStrings.scala b/main-command/src/main/scala/sbt/BasicCommandStrings.scala index f70e350d6..774c19115 100644 --- a/main-command/src/main/scala/sbt/BasicCommandStrings.scala +++ b/main-command/src/main/scala/sbt/BasicCommandStrings.scala @@ -17,6 +17,7 @@ object BasicCommandStrings { val Shutdown: String = "shutdown" val Quit: String = "quit" val TemplateCommand: String = "new" + val TemplateCommandAlias: String = "init" val Cancel: String = "cancel" /** The command name to terminate the program.*/ diff --git a/main/src/main/scala/sbt/Main.scala b/main/src/main/scala/sbt/Main.scala index 2fcca3a43..da69f098c 100644 --- a/main/src/main/scala/sbt/Main.scala +++ b/main/src/main/scala/sbt/Main.scala @@ -71,7 +71,7 @@ private[sbt] object xMain { .filterNot(_ == DashDashServer) val isClient: String => Boolean = cmd => (cmd == JavaClient) || (cmd == DashDashClient) val isBsp: String => Boolean = cmd => (cmd == "-bsp") || (cmd == "--bsp") - val isNew: String => Boolean = cmd => (cmd == "new") + val isNew: String => Boolean = cmd => (cmd == "new") || (cmd == "init") lazy val isServer = !userCommands.exists(c => isBsp(c) || isClient(c)) // keep this lazy to prevent project directory created prematurely lazy val bootServerSocket = if (isServer) getSocketOrExit(configuration) match { @@ -108,7 +108,7 @@ private[sbt] object xMain { .initialState( rebasedConfig, Seq(defaults, early), - runEarly(DefaultsCommand) :: runEarly(InitCommand) :: BootCommand :: Nil + runEarly(DefaultsCommand) :: runEarly("error") :: runEarly(InitCommand) :: BootCommand :: Nil ) .put(BasicKeys.detachStdio, detachStdio) StandardMain.runManaged(state) @@ -289,7 +289,7 @@ object StandardMain { import sbt.BasicCommandStrings._ import sbt.BasicCommands._ import sbt.CommandUtil._ -import sbt.TemplateCommandUtil.templateCommand +import sbt.TemplateCommandUtil.{ templateCommandAlias, templateCommand } import sbt.internal.CommandStrings._ import sbt.internal.util.complete.DefaultParsers._ @@ -311,6 +311,7 @@ object BuiltinCommands { settingsCommand, loadProject, templateCommand, + templateCommandAlias, projects, project, set, diff --git a/main/src/main/scala/sbt/TemplateCommandUtil.scala b/main/src/main/scala/sbt/TemplateCommandUtil.scala index 9cc326c7b..3102e4ee9 100644 --- a/main/src/main/scala/sbt/TemplateCommandUtil.scala +++ b/main/src/main/scala/sbt/TemplateCommandUtil.scala @@ -11,7 +11,6 @@ import java.lang.reflect.InvocationTargetException import java.nio.file.Path import java.io.File -import sbt.BasicCommandStrings.TerminateAction import sbt.SlashSyntax0._ import sbt.io._, syntax._ import sbt.util._ @@ -24,8 +23,10 @@ import sbt.internal.inc.classpath.ClasspathUtil import BasicCommandStrings._, BasicKeys._ private[sbt] object TemplateCommandUtil { - def templateCommand: Command = - Command(TemplateCommand, templateBrief, templateDetailed)(_ => templateCommandParser)( + def templateCommand: Command = templateCommand0(TemplateCommand) + def templateCommandAlias: Command = templateCommand0("init") + private def templateCommand0(command: String): Command = + Command(command, templateBrief, templateDetailed)(_ => templateCommandParser)( runTemplate ) diff --git a/sbt-app/src/sbt-test/java/argfile/build.sbt b/sbt-app/src/sbt-test/java/argfile/build.sbt index 399821afc..1ee00159b 100644 --- a/sbt-app/src/sbt-test/java/argfile/build.sbt +++ b/sbt-app/src/sbt-test/java/argfile/build.sbt @@ -1,7 +1,7 @@ scalaSource in Configurations.Compile := (sourceDirectory.value / " scala test ") javaSource in Configurations.Compile := (sourceDirectory.value / " java test ") -TaskKey[Unit]("init") := { +TaskKey[Unit]("init0") := { val ss = (scalaSource in Configurations.Compile).value val js = ( javaSource in Configurations.Compile).value import IO._ diff --git a/sbt-app/src/sbt-test/java/argfile/test b/sbt-app/src/sbt-test/java/argfile/test index 75991e02e..5563b8c77 100644 --- a/sbt-app/src/sbt-test/java/argfile/test +++ b/sbt-app/src/sbt-test/java/argfile/test @@ -1,2 +1,2 @@ -> init +> init0 > run \ No newline at end of file From b122e292e52713ea98b2633d669e7ee7748dd862 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 7 May 2023 14:18:18 -0400 Subject: [PATCH 2/2] Bump Typelevel toolkit --- main/src/main/scala/sbt/TemplateCommandUtil.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/TemplateCommandUtil.scala b/main/src/main/scala/sbt/TemplateCommandUtil.scala index 3102e4ee9..95866ff98 100644 --- a/main/src/main/scala/sbt/TemplateCommandUtil.scala +++ b/main/src/main/scala/sbt/TemplateCommandUtil.scala @@ -289,7 +289,7 @@ libraryDependencies += (toolkitTest % Test) } private def typelevelToolkitTemplate(): Unit = { - val defaultTypelevelToolkitV = "0.0.7" + val defaultTypelevelToolkitV = "0.0.8" val scalaV = ask("Scala version", defaultScalaV) val toolkitV = ask("Typelevel Toolkit version", defaultTypelevelToolkitV) val content = s"""