SBT如何运行InputTask

Ale*_*lex 6 scala sbt

我在我的SBT项目中创建了一些自定义任务,需要为此调用其他任务.

如何从我的任务中调用inputTasks并支持它们一些输入?

Tom*_*bel 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 )
    }
Run Code Online (Sandbox Code Playgroud)

这不会InputTask直接调用(我还没有找到办法),但它至少可以让你运行任意Java代码.