如何交叉编译支持不同核心库API的Scala版本?

时间:2019-03-27 20:16:47

标签: scala

我正在构建一个我想支持Scala 2.12和2.13目标的库。这些版本之间存在一些差异,只是不兼容,这意味着两个版本之间的某些区域需要不同的代码。

例如,2.12.x Builder(抽象类)要求您实现方法“ + =”。在2.13.x中,“ + =”现在是最终版本,您需要实现方法“ addOne”。啊诸如此类的事情。

由于Scala没有条件编译,最好的方法(使用sbt)来组织我的构建以适应差异。

1 个答案:

答案 0 :(得分:0)

Luis Miguel和Sascha的答案都是正确的。猫确实有一个很好的例子,而SBT具有这种能力。在文档中找不到它,但在这里进行了解释:https://github.com/twitter/util/issues/219