sbt console - 为所有子项目设置scala-version

时间:2016-09-08 10:41:18

标签: scala sbt

我有一个多项目构建,每个模块都有scalaVersion := "2.11.8"

我想在不触及构建文件的情况下为Scala 2.12.0-RC1运行testpublish-local。我认为以下内容可行:

$ sbt
> set scalaVersion in ThisBuild := "2.12.0-RC1"
> test

但这并没有改变使用的Scala版本,sbt仍然使用Scala 2.11.8编译。这仅适用于单个模块构建(没有project定义)。

如何从sbt控制台有效覆盖所有子模块的scalaVersion

1 个答案:

答案 0 :(得分:4)

您的尝试不起作用,因为模块的设置优先于nil的设置;如果您在构建文件中使用ThisBuild而不是为每个模块单独设置它,它将起作用。我不知道是否有办法用除了 scalaVersion in ThisBuild以外的任何内容做到这一点,但是:

  

As a final note, you can use ++ to temporarily switch the Scala version currently being used to build. should be either a version for Scala published to a repository, as in ++ 2.10.0 or the path to a Scala home directory, as in ++ /path/to/scala/home. See Command Line Reference for details.

scalaVersion