获取当前的sbt插件交叉版本

时间:2018-04-16 08:22:39

标签: scala sbt sbt-0.13 sbt1.0

我试图在0.131.1之间交叉构建一个sbt插件。为了实现这一点,我需要为不同的版本使用不同的libraryDependencies,但我找不到访问当前版本的目标sbt版本的方法。

当交叉编译在插件中时,有CrossBuilding.pluginSbtVersion,但我找不到任何类似的内容了。

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

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码:

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

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

sbt "^compile"

答案 1 :(得分:0)

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

[info] Setting `sbtVersion in pluginCrossBuild` to 1.1.2

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