我试图在0.13
和1.1
之间交叉构建一个sbt插件。为了实现这一点,我需要为不同的版本使用不同的libraryDependencies
,但我找不到访问当前版本的目标sbt版本的方法。
当交叉编译在插件中时,有CrossBuilding.pluginSbtVersion
,但我找不到任何类似的内容了。
sbtVersion.value
总是给我0.13.16
(sbtVersion in sbtPlugin)
同样crossVersion
总是给我Binary
scalaBinaryVersion
总是给我2.10
我该怎么做?
答案 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