2012-02-19 10 views
6

私はSBTプロジェクトでカスタムタスクをいくつか作成しており、そのために他のタスクを呼び出す必要があります。SBT InputTaskの実行方法

私は自分のタスク内からinputTasksを呼び出し、入力をサポートしていますか?

答えて

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コードを実行できるようにします。

+0

これは大きな助けとなりました。私は数時間前から 'InputTask'を直接実行する方法を探しています。あなたは数ヶ月前に、あなたがそれを理解したことがあるかどうかをまだ知りませんでした。 – Dylan

+0

申し訳ありません。正直言って、私たちはMavenに切り替えました。それはエレガントではありませんが、チームを立ち上げて実行するのはずっと簡単です。 –

関連する問題