【发布时间】:2012-05-07 18:50:38
【问题描述】:
我正在我的 SBT 项目中创建一些自定义任务,并且需要为此调用其他任务。
如何从我的任务中调用 inputTasks 并支持它们一些输入?
【问题讨论】:
我正在我的 SBT 项目中创建一些自定义任务,并且需要为此调用其他任务。
如何从我的任务中调用 inputTasks 并支持它们一些输入?
【问题讨论】:
由于您可以考虑自己的任务,因此我假设您正在尝试使用 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 代码。
【讨论】:
InputTask。您提到您在几个月前还没有发现... - 从那时起您有没有机会发现它?