scalaVersion.value
文脈依存です。だからDefaults.scala
それは*/*:scalaVersion
からappConfiguration.value.provider.scalaProvider
です。これは、ファイルを含むプロジェクトの定義をコンパイルするために使用されるバージョンbuild.sbt
です (sbt0.13.7
は2.10.4
scala-compiler を使用してプロジェクト定義をコンパイルします)。そして、プロジェクトの定義 (を含む) が実行および定義されscalaVersion
たときにまだコンパイルされていない唯一の方法です。したがって、notに依存します。Defaults
crossScalaVersions
*/*:crossScalaVersions
*/*:scalaVersion
proj/*:scalaVersion
Provided by
明示的なscalaVersion := 2.11.4
内部と比較してくださいbuild.sbt
:
> inspect scalaVersion
[info] Setting: java.lang.String = 2.11.4
[info] Description:
[info] The version of Scala used for building.
[info] Provided by:
[info] {file:/Users/user/dev/proj/}proj/*:scalaVersion
[info] Defined at:
[info] /Users/user/dev/proj/build.sbt:1
[info] Reverse dependencies (D=derives):
[info] *:allDependencies
[info] D *:scalaBinaryVersion
[info] *:libraryDependencies
[info] *:scalaInstance
[info] *:crossScalaVersions
[info] *:update
[info] Delegates:
[info] *:scalaVersion
[info] {.}/*:scalaVersion
[info] */*:scalaVersion
[info] Related:
[info] */*:scalaVersion
そして、1つもありません(空のプロジェクトのみ):
> inspect scalaVersion
[info] Setting: java.lang.String = 2.10.4
[info] Description:
[info] The version of Scala used for building.
[info] Provided by:
[info] */*:scalaVersion
[info] Defined at:
[info] (sbt.Defaults) Defaults.scala:232
[info] Reverse dependencies:
[info] *:allDependencies
[info] *:libraryDependencies
[info] *:update
[info] *:scalaInstance
[info] Delegates:
[info] *:scalaVersion
[info] {.}/*:scalaVersion
[info] */*:scalaVersion
[info] Related:
[info] */*:scalaVersion
したがって、次のように再定義する必要があり*/*:scalaVersion
ますbuild.sbt
。
scalaVersion in GlobalScope := "2.11.2"