1

0.13我正在尝试在和之间交叉构建一个 sbt 插件1.1。为此,我需要对libraryDependencies不同的构建使用不同的,但我找不到访问当前构建的目标 sbt 版本的方法。

回到交叉编译在插件中的时候,CrossBuilding.pluginSbtVersion但我再也找不到类似的东西了。

  • sbtVersion.value总是给我0.13.16
  • (sbtVersion in sbtPlugin)同样地
  • crossVersion总是给我Binary
  • scalaBinaryVersion总是给我2.10

我怎样才能做到这一点?

4

2 回答 2

0

您可以使用以下代码:

libraryDependencies ++= {
  sbtBinaryVersion.value match {
    case "0.13" => Seq(...)
    case "1.0" => Seq(...)
  }
}

确保使用 , 运行你的 sbt 命令^,在所有 sbt 版本上运行命令,即:

sbt "^compile"
于 2018-04-16T08:53:56.243 回答
0

事实证明,解决方案一直存在于 sbt 的输出中:

[info] Setting `sbtVersion in pluginCrossBuild` to 1.1.2

我只需要使用(sbtBinaryVersion in pluginCrossBuild).value

于 2018-04-16T09:07:05.640 回答