2012-01-17 7 views
4

dependsOnでは、タスクが他のタスクに依存することを宣言するために、他のタスクを最初に実行する必要があることを宣言しました。SBT 0.11他のタスクに依存するInputKey

0.11.xでは、タスクが他のタスクに依存していることを宣言するには<<=を使用します。 SBT Wikiは、thatを扱う質問がありますが、他の仕事や設定に依存するTaskKey[_]を宣言する方法について多くのことを述べていますが、InputKey[_]にはあまりありません。私は、入力されたキーは、このように宣言している場合:

val benchTask = InputKey[Unit](
    "bench", 
    "Runs a specified benchmark." 
) <<= inputTask { 
    (argTask: TaskKey[Seq[String]]) => 
    argTask map { 
    args => 
    // ... 
    } // xxx 
} 

どのように私はそれはたとえばpackageBin in Testのためのように、他のタスクに依存することができますか?上記のxxxの代わりにdependsOnを入れることができますが、これはタイプエラーです。

ありがとうございます。

答えて

6

一緒argTaskを使用して、他のタスクの地図:

inputTask { 
    (argTask: TaskKey[Seq[String]]) => 
    (argTask, packageBin in Test) map { 
    (args, pb) => 
    // ... 
    } 
} 
+0

それは私が、私はその中に興味がないにもかかわらず、 'map'に' packageBin'の引数 'pb'を持っている必要があることを意味しません価値、ちょうど依存関係? – axel22

+0

はい、依存する以前の値に興味があります。 – venechka

+0

回答スニペットは質問スニペットとどのように関連していますか? 4行目の "inputTask {"から置き換えられますか? –

関連する問題