将输入传递给 InputKey

Passing input to an InputKey

我正在按照这些说明尝试将输入传递给 InputKeyInput-Tasks

我得到了这些定义:

lazy val test = InputKey[Unit]("test")
lazy val test2 = InputKey[Unit]("test2")

并且此代码编译:

test2 := {
  test.fullInput("aaa").evaluated
}

但是这段代码

test2 := {
  val x = "aaa"
  test.fullInput(x).evaluated
}

编译失败,出现错误

Illegal dynamic reference: x
test.fullInput(x).evaluated
               ^

我做错了什么?

看起来是 bug 复刻盒好像和你的一模一样

基于此 我能够解决此问题

test2 := {
  val x = "aaa"
  Def.inputTaskDyn[Unit]{ run.toTask(x)}
}.evaluated