4
在sbt 0.13.9中,我希望能夠運行一個任務,該任務從命令行接受參數,然後將這些參數傳遞給另外兩個任務。將參數傳遞給SBT中的多個任務
我最初的嘗試是沿着線的東西:
lazy val logTask = InputKey[Unit](...)
lazy val runTask = InputKey[Unit](...)
lazy val TestCase = config("testCase") extend Test
runTask in TestCase := Def.inputTaskDyn {
val args: Seq[String] = spaceDelimited("<arg>").parsed
runReg(args)
}.evaluated
logTask in TestCase := Def.inputTaskDyn {
val args: Seq[String] = spaceDelimited("<arg>").parsed
log(args)
}.evaluated
def runReg(args: Seq[String]) = Def.taskDyn {
val argString = args.mkString(" ")
(logTask in TestCase).toTask(argString).value
(testOnly in TestCase).toTask(s" $argString")
}
def log(args: Seq[String]) {
(runMain in TestCase).toTask(s" LoggingClass $args.mkString(" ")")
}
但隨後在(logTask in TestCase).toTask(argsString).value
抱怨一個非法的動態參考argString的我也試過類似:
runTask in TestCase := {
val args: Seq[String] = spaceDelimited("<arg>").parsed
log(args).value
runReg(args).value
}
其中還有一個args的非法動態參考。
是否有任何方法將解析的參數傳遞給兩個任務並一個接一個地運行?
感謝您的任何幫助。
您可以發佈您的整個構建文件嗎? – Andy
https://gist.github.com/thejonathanwong/8757accdeabb568ae2b8 日誌記錄類是在添加到使用此插件的任何項目的jar中。 – hopo
它看起來像這可能是[錯誤13.1](https://github.com/sbt/sbt/issues/1041) – pantalohnes