我想做一个输入任务,继续用户输入并生成一堆子任务来运行.这是一个例子:
import sbt._
import Keys._
import Def.Initialize
import complete.DefaultParsers._
object TestBuild extends Build {
val sampleInput = inputKey[Seq[String]]("sample dynamic input task")
val sampleDynamic = taskKey[Seq[String]]("sample dynamic task")
override lazy val settings = super.settings ++ Seq(
sampleDynamic := Def.taskDyn {
val sources = Seq("ab", "csd", "efda")
sources.map(sampleTaskFor _).joinWith(_.join)
}.value,
sampleInput := Def.inputTaskDyn {
val sources = spaceDelimited("<arg>").parsed
sources.map(sampleTaskFor _).joinWith(_.join)
}.value
)
private def sampleTaskFor(source : String) : Initialize[Task[String]] = Def.task {
source + " : " + source
}
}
Run Code Online (Sandbox Code Playgroud)
有两个样本.第一个工作并显示带有预定义输入的简单taskDyn.第二个是用户输入的动态任务,拒绝编译我无法解释的错误 …
我尝试使用Eclipse的黑暗主题,但是一些文本突出显示使文本不可读.
所以我在这里编辑了设置

但重启日食后它已经消失了.我尝试从工作区和安装目录中的文件中删除每个只读属性.但没有成功.