2016-03-22 13 views
0

次のサンプルSBTビルドファイルでは、SBTインタラクティブモードからInputTaskに引数を渡すことができます。方法はありますか?sbt対話モードに入らずにInputTaskに引数を渡すにはどうすればよいですか?

サンプルbuild.sbt:正常SBT対話モードの中からタスクを呼び出す

import complete.DefaultParsers._ 

lazy val sampleDoSomething = inputKey[Unit]("Will print arguments.") 

lazy val commonSettings = Seq(
    organization := "com.example", 
    version := "0.1.0-SNAPSHOT" 
) 

lazy val taskInputTaskProject = (project in file(".")). 
    settings(commonSettings: _*). 
    settings(
    sampleDoSomething := { 
     println("Arguments: ") 
     val args = spaceDelimited("<arg>").parsed 
     args foreach println 
    } 
) 

$ sbt 
[info] Set current project to taskInputTaskProject (in build file:/study/sbt/input-tasks/) 
> sampleDoSomething a b c 
Arguments: 
a 
b 
c 
[success] Total time: 0 s, completed Mar 22, 2016 1:06:58 PM 

に成功しまし引数なしでコマンドラインからタスクを起動:

$ sbt sampleDoSomething 
[info] Set current project to taskInputTaskProject (in build file:/study/sbt/input-tasks/) 
Arguments: 
[success] Total time: 0 s, completed Mar 22, 2016 1:06:18 PM 

失敗しますコマンドラインから引数を指定してタスクを呼び出す:

$ sbt sampleDoSomething a b c 
[info] Set current project to taskInputTaskProject (in build file:/study/sbt/input-tasks/) 
Arguments: 
[success] Total time: 0 s, completed Mar 22, 2016 1:06:44 PM 
[error] Not a valid command: a 
[error] Expected 'all' 
[error] Not a valid project ID: a 
[error] Expected ':' (if selecting a configuration) 
[error] Not a valid key: a 
[error] a 
[error]^
+0

明らかに、この質問に関連:http://stackoverflow.com/questions/9352400/sbt-how-to-run-inputtask – joewyrembelski

答えて

関連する問題