[英]Run “clean” all dependent SBT subprojects
我有一个SBT项目,特别是一个Play Framework 2.1项目,它在配置中指定了许多子项目。 编译时依赖关系似乎工作正常,但“清理”似乎只是清理当前选定的项目,不包括其依赖项。 有没有办法清理所选项目及其相关子项目?
如果您的主项目聚合主题,如下所示:
lazy val root = Project("name", file("."))
.aggregate(module1, module2, macros)
然后,将对所有子项目执行调用此根项目的任何命令。 如果你在你的sbt会话中调用inspect clean
命令,你会在相关部分下看到与此相关的所有子项目
在评论的旁注
aggregate
和dependsOn
是用于不同目的的不同命令。 聚合的目的是在根项目上调用的运行命令。 在我的例子中,通过在我的根项目上调用test
命令,该命令也将对module1
module2
和macros
。 如果要使用以下设置关闭此类行为:
aggregate in test := false
聚合项目独立于其中的代码。 它通常用在根项目上,例如,不要在每个项目上调用test
,而是在root上调用它。 记住,在聚合的情况下,命令将并行执行。
而dependsOn意味着您的项目将取决于其他项目的代码。 在这种情况下,SBT将执行命令序列,以便compile
您的根项目,这dependsOn
某些模块,它应该在第一步编译那些模块,即根项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.