我在SBT项目中创建了一些自定义任务,需要为此调用其他任务。
如何从我的任务中调用inputTasks并支持他们一些输入?
答案 0 :(得分:5)
由于您可以将自己的任务考虑在内,我假设您正在尝试使用run
任务。它需要一些挖掘,但我终于成功了;简而言之,这就是你所做的(假设你的任务名为deployTask
,根据你的需要进行调整):
deployTask <<= ( fullClasspath in Compile, runner ) map { ( classpath, runner ) =>
val logger = ConsoleLogger() // Not sure this is optimal
Run.executeTrapExit( {
Run.run( "com.sample.MainClass",
classpath map { _.data },
Seq( "option1", "option2", "..." ), // <-- Options go here
logger )( runner )
}, logger )
}
这不直接调用InputTask
(我还没有找到办法),但它至少可以让你运行任意Java代码。