我有一个库,需要两个不同版本的库,"com.thesamet.scalapb" %% "compilerplugin"
具体取决于 Scala 版本。
在我的project/scalapb.sbt
我有这个代码:
def scalapbVersion(version:String): String =
if(version == "2.11") {
println(s">>>>>>>> Using 0.9.7 to fix 2.11 compat. ${version}")
"0.9.7"
} else {
println(s">>>>>>>> Using last version. ${version}")
"0.10.2"
}
libraryDependencies += "com.thesamet.scalapb" %% "compilerplugin" % scalapbVersion(scalaBinaryVersion.value)
执行sbt clean "++2.11.12 compile
我得到>>>>>>>> Using lastest version. 2.12
但在日志中,我还可以看到交叉构建插件在上一条消息之后将版本更改为 Scala 2.11:
[info] Setting Scala version to 2.11.12 on 13 projects.
[info] Excluded 1 projects, run ++ 2.11.12 -v for more details.
所以我想顺序是:
- sbt 使用默认的 Scala 版本加载插件配置。
- 交叉构建更改了 scala 版本
如何sbt-protoc
与 sbt cross-build 集成?