【发布时间】:2021-08-07 06:25:17
【问题描述】:
我有一个依赖于https://github.com/typelevel/kind-projector 的项目,目前正在针对 scala 2.12 和 2.13 进行交叉编译,我想添加对 scala 3.0 的支持。但是,kind-projector 在 scala 3.0 上不可用,因为它启用的语法是原生 scala 3 语法的一部分。
之前,我使用这个设置来添加编译器插件:
addCompilerPlugin("org.typelevel" % "kind-projector" % "0.11.3" cross CrossVersion.full)
现在,如果 scalaVersion 为 3.0.0,我将尝试禁用该设置。
我得到的最接近的是
Def.setting {
scalaVersion.value match {
case "3.0.0" => new Def.SettingList(Nil)
case _ => Seq(
addCompilerPlugin("org.typelevel" % "kind-projector" % "0.11.3" cross CrossVersion.full)
)
}
}
但类型不起作用(这是一个Initialize,但它必须是一个Setting)。
如何根据 scala 版本有条件地禁用编译器插件?
【问题讨论】: