sbt 1.x(或确切地说是1.2.8)中的CrossVersion.fullMapped发生了什么?

时间:2019-06-13 20:03:09

标签: scala sbt

实际上,在新发布的librarymanagement repository中看不到任何x Mapped函数。

我收到此错误:

build.sbt:84: error: value fullMapped is not a member of object sbt.librarymanagement.CrossVersion
    "org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.fullMapped{

用于以下用途:

  ,addCompilerPlugin( // For circe generic:
    "org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.fullMapped{
      _ => scalaVersionSelect
    }
  )

1 个答案:

答案 0 :(得分:3)

CrossVersion.fullMapped并未保留其sbt 0.13格式,因为sbt 1.x希望能够序列化其键类型(而CrossVersion是该对象图的可传递部分)。

它被CrossVersion.fullWith取代,它没有采用一般的String => String函数,而是带有String前缀和String后缀来附加/附加到Scala二进制版本中

但是鉴于您要放弃使用scalaVersionSelect的输入,那么您甚至不需要CrossVersion.fullWith,而只需使用CrossVersion.constant,如下所示:

addCompilerPlugin(
  "org.scalamacros" % "paradise" % "2.1.1"
    cross CrossVersion.constant(scalaVersionSelect)
)