如何运行sbt插件中定义的任务

时间:2016-01-01 17:56:59

标签: scala sbt sbt-plugin

在我的项目中,我使用暴露任务 genExport 的插件。我可以从控制台运行 genExport 任务:

sbt genExport

我的问题是我无法配置我的sbt项目在项目编译后运行genExport:

lazy val sample:Project = project
  .in(file("sample"))
  .settings(
     MyPluginKeys.someKey := "someKeyValue",
     compile in Compile <<= (compile in Compile) map { x =>
       println("----------")
       // ???
       x
     }
  )
  .enablePlugins(MyPlugin)

从sbt文档我无法获知如何通过名称从插件调用任务。我试过了:

taskKey[Unit]("genExport").taskValue

没有任何成功。我缺少什么?

1 个答案:

答案 0 :(得分:1)

val genexport = TaskKey[Unit]("genExport")

genExport <<= genExport triggeredBy (compile in Compile)