我将sbt从升级sbt-0.13.16到sbt-1.2.8我的以下代码已损坏
lazy val gruntDirectory = baseDirectory {
_ / "public"
}
unmanagedResourceDirectories in Assets += gruntDirectory { _ / "node_modules"}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
/build.sbt:131: error: No implicit for Append.Value[Seq[java.io.File], sbt.Def.Initialize[java.io.File]] found,
so sbt.Def.Initialize[java.io.File] cannot be appended to Seq[java.io.File]
unmanagedResourceDirectories in Assets += gruntDirectory { _ / "node_modules"}
^
[error] Type error in expression
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题
您需要使用.value来提取设置的值:
unmanagedResourceDirectories in Assets += baseDirectory.value / "public" / "node_modules"
Run Code Online (Sandbox Code Playgroud)
如果你想定义gruntDirectory其他东西,你可以这样做:
lazy val gruntDirectory = Def.setting { baseDirectory.value / "public" }
unmanagedResourceDirectories in Assets += gruntDirectory.value / "node_modules"
Run Code Online (Sandbox Code Playgroud)
请注意,您只能在///赋值的.value右侧或内部使用。:=+=++=~=Def.{setting, task, taskDyn, inputTask, inputTaskDyn}