【问题标题】:Adding SBT task to Play project's full build configuration将 SBT 任务添加到 Play 项目的完整构建配置
【发布时间】:2014-03-16 19:57:31
【问题描述】:

如何将任务添加到使用完整构建配置(例如 Build.scala)的 Play (SBT) 项目中,以便它实际可见并且可以使用?

显然我所做的还不够。当我运行play tasks 时,新任务未列出,我无法运行它。

Build.scala 如下所示:

object ApplicationBuild extends Build {

  val hello = TaskKey[Unit]("hello", "Prints 'Hello World'")

  val helloTask = hello := {
    println("Hello World")
  }  

  val appName         = "test"
  val appVersion      = "1.0-SNAPSHOT"        
  val appDependencies = Seq(
    jdbc
  )

  val main = play.Project(appName, appVersion, appDependencies).settings(       
    resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"      
  )
}

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    helloTask 添加为settings 方法中的设置,如下所示:

    val main = play.Project(appName, appVersion, appDependencies).settings(
      resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/",
      helloTask
    )
    

    有关 SBT 0.12.4,请参阅 Full Configuration Example,因为您使用较旧的方法通过 TaskKey 和双重分配 (helloTask = hello :=) 定义任务。您可能会发现对Scalaz's full build configuration 的引用非常有用(在页面的最底部)。

    【讨论】:

    • 很好,现在我可以从控制台运行它了!还有一件事:当我运行“tasks”或“tasks -v”时,我仍然看不到它?
    猜你喜欢
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 2016-07-20
    • 2017-05-16
    • 2023-04-10
    • 2016-08-07
    • 2012-04-22
    • 2011-11-12
    相关资源
    最近更新 更多