【问题标题】:SBT how to run InputTaskSBT如何运行InputTask
【发布时间】:2012-05-07 18:50:38
【问题描述】:

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

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

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    由于您可以考虑自己的任务,因此我假设您正在尝试使用 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。您提到您在几个月前还没有发现... - 从那时起您有没有机会发现它?
    • 对不起,没有。老实说,我们已经改用 Maven - 它没有那么优雅,但更容易让团队启动和运行。
    猜你喜欢
    • 2014-10-27
    • 2019-05-28
    • 1970-01-01
    • 2016-04-06
    • 2014-11-11
    • 2017-07-31
    • 1970-01-01
    • 2016-07-09
    • 2020-04-05
    相关资源
    最近更新 更多