scala - SBT 如何运行 InputTask

标签 scala sbt

我正在我的 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 代码。

关于scala - SBT 如何运行 InputTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9352400/

相关文章:

scala - sbt 系统级全局 .sbt 文件

sbt - 引用 SBT 中自定义任务的未定义设置错误?

scala - 是否可以使用 scala-sbt 在开发模式下发布本地?

scala - Scala 中的 ArrayBuffer 与 ArrayBuilder

Scala 语法奇怪,带::并且需要小写

scala - 选择Akka还是Spark进行并行处理?

security - 如何使用 Scala 防止 Play [2.0] 中的 CSRF?

scala - 如何从 AutoPlugin 修改 Compile 中的 sourceGenerators?

scala - 在 SBT 0.13 中设置 scaladoc 的输出目录(因为不推荐使用 docDirectory)?

scala - 从 Scala 函数中获取参数名称