假设分层项目布局如下:
root
-subproject1
-subproject2
其中root仅聚合所有子项目。
如预期的那样,在根目录中调用eclipse
会为所有子项目生成可导入的eclipse项目。
但是,现在考虑子项目1也聚合了子项目2。在根项目或子项目1中调用eclipse
任务会为除子项目1之外的所有项目生成项目文件。总之,拥有诸如之类的"聚合图"
-> subproject1
/ |
root |
v
-> subproject2
从不为子项目1生成eclipse文件。
我是不是遗漏了一些关于聚合语义的东西,或者这是sbteclipse中的一个错误?
出现此问题的具体案例可以在此处的构建文件中找到。项目"vfd-main"从未生成任何eclipse项目,除非在第58行删除其自己的聚合设置。顺便说一句,我使用的是sbteclipse 3.0.0版
事实证明这是预期的行为。由于子项目1聚合了其他项目,因此它被视为父项目,默认情况下,不会为父项目生成项目定义。这可以通过添加来改变
EclipseKeys.skipParents in ThisBuild := false
构建。