我有三个Scala项目:
Project A -必须是2.11.9版本的Scala。
项目B -必须有2.12.13版本的Scala。
通用-版本无关。
项目A和B都使用Common。
除了编译两个不同版本的公共项目之外,还有什么方法可以使它工作吗?
如果这是唯一的选择,我如何用最简单的方法来管理它?因为从一个版本到另一个版本。SBT还意味着更改许多依赖项的版本,这是一个烂摊子。
就像在评论中说的,你想使用所谓的"交叉构建">为了你的"共同">
为Scala 2.11和Scala 2.12构建和发布。SBT原生支持.
如果以后你有一个更复杂的项目结构,你可以看看一个有用的插件叫做project-matrix
通过为每个Scala版本(或实际上其他维度,如JVM/JavaScript)生成SBT子项目来进行交叉构建。对于依赖项,在定义依赖项时应该使用%%
操作符,以便自动选择相应的Scala版本的依赖项。