将SBT任务添加到Play项目的完整构建配置

时间:2014-02-17 13:33:25

标签: scala sbt

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

显然我所做的还不够。当我运行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/"      
  )
}

1 个答案:

答案 0 :(得分:2)

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

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

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