我的项目中有一个名为oppenheimer
的子项目。从sbt控制台运行这个项目非常简单。
[myproject] $ oppenheimer/run
我也可以传递一个命令行参数:
[myproject] $ oppenheimer/run migrate
[myproject] $ oppenheimer/run clean
如何从build.sbt
执行此操作?是否可以定义执行此操作的任务?这样就足够了:
val customMigrate = ...
val customClean = ...
这样我就可以在项目的其他地方使用它,例如:
(test in Test) <<= (test in Test).dependsOn(customMigrate)
答案 0 :(得分:4)
答案在sbt FAQ部分"How can I create a custom run task, in addition to run?"中给出。基本上是:
lazy val customMigrate = taskKey[Unit]("custom run task")
fullRunTask(customMigrate, Test, "foo.Main", "migrate")