未将其附加到特定项目的设置中定义的任何设置,即
.settings()
,附加到根项目。
这样的代码
organization := "foo"
一样
lazy val root = (project in file(".")).settings(organization := "foo")
现在,如果您定义了一个新的子项目
common
并添加
organization
对它
lazy val common = (project in file("common")).settings(organization := "bar")
只有它才有价值
组织
设置为
bar
.
当根项目有自己的根项目时,这将在示例中保持。
组织
也定义了。
lazy val root = (project in file(".")).settings(organization := "foo")
lazy val common = (project in file("common")).settings(organization := "bar")
这很容易用命令进行测试
sbt "show organization"
和
sbt "show common/organization"
. 它会打印出来
foo
和
酒吧
分别。
最后,如果要为所有子项目定义相同的值,请在根项目中为范围添加设置
ThisBuild
如本例所示:
organization in ThisBuild := "foo"
lazy val common = (project in file("common")).settings(???)
或将设置存储在
Seq
并应用于所有子项目和根。这与范围内的效果类似
这种构建
但更明确的是:
val commonSettings = Seq(organization := "foo")
lazy val root = (project in file(".")).settings(commonSettings)
lazy val common = (project in file("common")).settings(commonSettings)