我的示例 sbt 插件使用 scala 版本 2.10.6 可以正常编译。我正在尝试升级 sbt 插件 build.sbt 中的 scalaVersion := "2.11.7"。
它与以下 CTE 中断:-
/Users/mogli/gitrepos/study/SbtPlugins/ScalaPlugin/src/main/scala/base/BasePlugin.scala:21:无法扩展以前版本的Scala编译的宏[错误]
val projects = thisProject.value.dependencies
正如 Micro Dotta 在下面的问题中所建议的那样,这与 scalaVersion := "2.10.6" 一起工作得很好:-
简化的 sbt 插件 BasePlugin.scala:
package base
import sbt.{ThisBuild, Def, TaskKey, AutoPlugin}
import sbt._
import Keys._
object BasePlugin extends AutoPlugin {
object autoImport {
lazy val customtask: TaskKey[Unit] = TaskKey("customtask")
}
import autoImport.customtask
override def projectSettings: Seq[Def.Setting[_]] = Seq(
customtask := {
val projects = thisProject.value.dependencies
projects map println
}
)
}
如何让它与 scalaVersion := "2.11.7" 一起工作?我希望这个插件与使用 scal 版本 11 的项目一起使用。