我有一个针对Scala 2.10、2.11和2.12的多模块SBT构建交叉构建。我想添加一个支持Java 8的子模块。但是,这仅适用于Scala 2.11(和2.12)。我的目标是让SBT仅为2.11和2.12构建此特定子模块,而对于2.10则忽略它。特别是,不要发布2.10的工件。
我目前的工作假设是重写publish,libraryDependencies并unmanagedSourceDirectories基于斯卡拉版本键,但我一直在寻找一个更好的解决方案。
正如Twitter 上的@simon_yann所写,我正是出于这个原因编写了sbt-doge 。
sbt-doge 是一个 sbt 插件,用于聚合
crossScalaVersions多项目构建,我称之为部分交叉构建。
尝试
> ;so clean; such test; very publishLocal
Run Code Online (Sandbox Code Playgroud)