如何在sbt shell会话开始时显示特定于项目的消息?

时间:2018-10-26 12:22:14

标签: scala sbt

我想在 sbt (不是Scala)会话开始时显示特定于项目的消息,类似于启动Scala REPL时显示的消息。这将是某种帮助消息,但针对特定于该项目的命令或流程。

$ scala
Welcome to Scala 2.12.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_181).
Type in expressions for evaluation. Or try :help.

scala> 

是否有内置的方法或一个sbt插件?如果没有,我还能如何实现?

1 个答案:

答案 0 :(得分:2)

您可以定义一个虚拟设置值,作为访问SBT记录器的一种方式。

val welcomeMessage = settingKey[Unit]("Welcome message")

welcomeMessage := {
  sLog.value.info("<some message here>")
}

注意:

  • 无论何时运行SBT都会显示此消息,而不仅仅是在调用它到达SBT提示符时显示。
  • 这可能不是最后要显示的消息

如果要在访问Scala控制台时显示消息而不是SBT提示,则可以提供更多直接支持。通过initialCommands设置,您可以设置在首次输入Scala控制台时运行的代码段,其中可能包括打印一些消息。

SBT docs