【问题标题】:How to create new commands that you can run after running the sbt command Scala如何在运行 sbt 命令 Scala 后创建可以运行的新命令
【发布时间】:2023-03-27 09:10:01
【问题描述】:

在运行sbt 之后,我正在尝试运行某些任务和启动服务器。我希望能够在终端中运行命令来做到这一点。我该如何定义它们?插件是做到这一点的正确方法吗:

我看到一些这样的代码:

object DoThing extends AutoPlugin {
  object autoImport {
    val vpnCheck = taskKey[Boolean]("Check for a VPN connection.")
  }
  import autoImport._

  override lazy val projectSettings = Seq(
    vpnCheck := {
      doVpnCheck()
    }
  )

projectSettings 方法在做什么?是插件吗?

来自插件页面:

插件是在构建定义中使用外部代码的一种方式。插件可以是用于实现任务的库(您可能使用 Knockoff 编写降价处理任务)。插件可以定义一系列 sbt 设置,这些设置会自动添加到所有项目或为选定项目显式声明。例如,插件可能会添加一个 proguard 任务和相关的(可覆盖的)设置。最后,插件可以定义新的命令(通过命令设置)。

但我似乎无法弄清楚这一点。

【问题讨论】:

    标签: scala


    【解决方案1】:

    对于您的场景,也许您可​​以在 sbt 文件中创建 Task 来执行此操作,例如:

    val hello = taskKey[Unit]("hello world")
    
    hello := {
      println("hello")
    }
    

    如果你在启动时间自动运行,你可以在项目目录下创建.sbtrc文件,如下:

    alias boot = ;reload ;hello ;iflast shell
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-01
      • 2017-10-17
      • 2022-10-26
      • 1970-01-01
      • 2020-05-10
      • 2017-06-26
      相关资源
      最近更新 更多