我有一个多项目构建,每个模块都有scalaVersion := "2.11.8"
。
我想在不触及构建文件的情况下为Scala 2.12.0-RC1运行test
和publish-local
。我认为以下内容可行:
$ sbt
> set scalaVersion in ThisBuild := "2.12.0-RC1"
> test
但这并没有改变使用的Scala版本,sbt仍然使用Scala 2.11.8编译。这仅适用于单个模块构建(没有project
定义)。
如何从sbt控制台有效覆盖所有子模块的scalaVersion
?
答案 0 :(得分:4)
您的尝试不起作用,因为模块的设置优先于nil
的设置;如果您在构建文件中使用ThisBuild
而不是为每个模块单独设置它,它将起作用。我不知道是否有办法用除了 scalaVersion in ThisBuild
以外的任何内容做到这一点,但是:
scalaVersion