构建定义中的项目关键字是什么?

时间:2014-06-02 16:35:39

标签: sbt

在阅读了multi-project builds的章节之后,我已经看到了这个结构:

lazy val util = project
lazy val core = project

我想知道项目是什么。在API文档中,我可以看到Project trait及其伴随对象,但没有关于 project 的条目。我认为它可能是特质Build的成员,但它也不是。

我唯一知道的是,它会返回Project特征。我在哪里可以在API文档中找到它?

1 个答案:

答案 0 :(得分:2)

project是一个宏。你可以在ProjectExtra找到它的文档,但它不是很冗长。

基本上,它将从分配给它的val的名称中获取项目的id和目录。

它也可以以

的形式使用
lazy val util, core = project

这将为您提供快速(并且希望简单)的方式来布置多项目构建定义。

此外,project宏适用于单项目构建和多项目构建。它刚刚出现在多项目构建中,因为配置更多,build.sbt单独构建通常是不够的。