Playframework 2.0 “./build.sbt”和“./project/build.sbt”之间有什么区别?
例如,我想在构建定义中设置一个键,我应该将该设置放在哪个键中?根目录中的Playframework 2.0 “./build.sbt”和“./project/build.sbt”之间有什么区别?,playframework-2.0,sbt,Playframework 2.0,Sbt,例如,我想在构建定义中设置一个键,我应该将该设置放在哪个键中?根目录中的build.sbt?或者project目录中的build.sbt 我认为两者都会起作用。有什么理由让我更喜欢其中一个吗?项目文件夹不应该包含build.sbt,只包含plugins.sbt和.scala文件。Scala文件通常用于创建一些具有VAL的公共对象,这些VAL在整个项目的多个构建中使用。我还通常创建一个dev.sbt,其中包含我用于开发的插件,并且该文件不受版本控制。build.sbt和project/build.
build.sbt
?或者project
目录中的build.sbt
我认为两者都会起作用。有什么理由让我更喜欢其中一个吗?项目文件夹不应该包含
build.sbt
,只包含plugins.sbt
和.scala
文件。Scala文件通常用于创建一些具有VAL的公共对象,这些VAL在整个项目的多个构建中使用。我还通常创建一个dev.sbt
,其中包含我用于开发的插件,并且该文件不受版本控制。build.sbt和project/build.sbt
之间几乎没有区别——毕竟它们都是build.sbt
,但是,它们的位置决定了它们配置项目构建的方式和部分
引述:
项目
目录是项目中的另一个项目,它
知道如何构建项目。项目中的项目可以(在
(理论)做任何其他项目可以做的事情。您的构建定义是
sbt项目
海龟们一路往下走。如果您愿意,可以调整
通过创建
project/project/
目录
有两种直接的方法可以使用sbt为项目设置生成—使用项目主目录中的.sbt
文件和project/*.scala
文件。所有这些文件构成构建
但是,有一种方法可以为您刚才配置的构建设置构建,并应用相同的规则-您可以使用(注意位置之前的project
目录)project/*.sbt
和project/project/*.scala
文件
要扩展项目的构建,您可能需要使用sbt插件—一种捆绑在一起的构建配置,以简化其安装。它们是项目构建的一部分(构建是故意加倍的)。按照惯例,插件安装在project/plugins.sbt
中,但是project
目录下的任何.sbt
文件都可以
简而言之,如果要在生成定义中设置键,应在与生成定义对应的级别上使用.sbt
或project/*.scala
文件。如果这是项目的顶级生成定义,请在根目录中选择build.sbt
请记住,project
下的任何生成定义都将成为项目生成定义的一部分。[海龟一路向下][3],记得吗?你为什么不把dev.sbt
放在~/.sbt/0.13
下面?这将为将来的其他项目节省很多时间设置dev sbt配置。不是每个项目都应该加载这些插件,也不是每个项目都与每个插件版本兼容。全局插件设置只会让事情变得复杂。这一点很有道理。我认为这正是autoplugins=的原因,因此最终用户不需要知道插件依赖性。