build.sbt和project / Build.scala是多余的吗?

时间:2014-09-18 13:12:45

标签: playframework sbt

其实我想保留

name := "projectName"

version := "1.0-SNAPSHOT"
build.sbt 中的

以及 project / Build.scala 中的所有实际依赖项,是否可行/可取?

那个环境下的测试怎么样?

1 个答案:

答案 0 :(得分:0)

tl; dr .sbtproject/*.scala是互补的,它们用于不同的目的(但对于简单的情况非常相似)。使用in ThisBuild中的*.sbt设置属于该版本。

它们不是用于不同目的(但在许多用例中它们看似相似甚至是多余的)。

build.sbt个文件可以位于多模块项目构建中的任何项目中,并且可以为他们所在的项目设置设置。

project/Build.scala只能位于顶级(又名root)项目中,并且可以跨项目共享设置。设置不会自动共享,您必须"附加"它们使用settingssbt.Project宏上的project方法调用项目。

如果您想要一个build.sbt来设置整个版本的设置,请使用in ThisBuild,然后您就完成了。调用文件globals.sbt,以便它可以轻松区分命令行(如果文件扩展名为.sbt,则可以认为名称是任意的。)

name in ThisBuild := "projectName"

version in ThisBuild := "1.0-SNAPSHOT"