繁体   English   中英

运行“清理”所有相关的SBT子项目

[英]Run “clean” all dependent SBT subprojects

我有一个SBT项目,特别是一个Play Framework 2.1项目,它在配置中指定了许多子项目。 编译时依赖关系似乎工作正常,但“清理”似乎只是清理当前选定的项目,不包括其依赖项。 有没有办法清理所选项目及其相关子项目?

如果您的主项目聚合主题,如下所示:

lazy val root = Project("name", file("."))
    .aggregate(module1, module2, macros)

然后,将对所有子项目执行调用此根项目的任何命令。 如果你在你的sbt会话中调用inspect clean命令,你会在相关部分下看到与此相关的所有子项目

在评论的旁注

aggregatedependsOn是用于不同目的的不同命令。 聚合的目的是在根项目上调用的运行命令。 在我的例子中,通过在我的根项目上调用test命令,该命令也将对module1 module2macros 如果要使用以下设置关闭此类行为:

aggregate in test := false

聚合项目独立于其中的代码。 它通常用在根项目上,例如,不要在每个项目上调用test ,而是在root上调用它。 记住,在聚合的情况下,命令将并行执行。

dependsOn意味着您的项目将取决于其他项目的代码。 在这种情况下,SBT将执行命令序列,以便compile您的根项目,这dependsOn某些模块,它应该在第一步编译那些模块,即根项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM