crosspaths 何时设置为 true?

When is crosspaths set to true?

我没能找到关于 crosspaths 的使用和目的的好文档。谁能指出我的文档或回答这些具体问题。

  1. 我的Scala版本是2.11.6,但是当crosspaths设置为true时, 我看到两个源文件夹 -“scala”和“scala-2.11”。不应该有 只是这两者之一?这两个文件夹是什么意思?
  2. scala”中包含哪些代码,“scala-2.11”中包含哪些代码?

crossPaths 设置为 true 到 enable/disable Cross-Building(默认情况下为 true)。

sbt 0.13.8 开始,您会看到默认情况下 sbt 处理每个 Scala 版本的源目录,以消除每个项目自己执行此操作的重复。

因此,如果您有多个 Scala 版本,您要针对这些版本进行交叉构建,开箱即用,您有源目录,您可以在其中放置特定于版本的代码。

但我同意这令人困惑:如果您没有多个 crossScalaVersions,则没有必要同时使用 scalascala-2.11

您的大部分代码应始终存在于 scala 中,如果您拥有多个 Scala 版本,则您正在针对 交叉构建您拥有的版本-特定代码然后使用 scala-2.11scala-2.10