我正在构建一个我想支持 Scala 2.12 和 2.13 目标的库。这些版本之间存在一些不兼容的差异,这意味着我需要为两个版本之间的几个区域使用不同的代码。
例如 2.12.x Builder(抽象类)要求你实现一个方法 '+='。在 2.13.x 中,'+=' 现在是最终版本,您需要实现方法 'addOne'。啊。诸如此类的几件事。
什么是(使用 sbt)组织我的构建以适应差异的最佳方式,因为 Scala 没有条件编译?
最佳答案
Luis Miguel 和 Sascha 的答案都是正确的。 Cats 确实有一个很好的例子,SBT 有这种能力。在文档中找不到它,但在这里解释:https://github.com/twitter/util/issues/219
关于scala - 如何交叉编译支持不同核心库 API 的 Scala 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55385751/