![](/img/trans.png)
[英]How can I override settings in subprojects in an SBT project with multiple subprojects
[英]How to auto-aggregate all subprojects in a large SBT project without having to write a large “aggregate”?
在我的SBT项目中,我有一个明确聚合所有内容的根项目,如下所示:
lazy val root = project.in(file(".")).
settings(
name := "awesome_project",
publishArtifact := false
).
aggregate(
some_project,
some_other_project,
a_cool_library,
// lots and lots and lots more
)
由于我每次添加新项目时都明确要将每个项目添加到aggregate
,有没有办法自动完成? 目前我使用shell脚本查找包含lazy val
和project
所有行,输出每个名称后面带逗号的列表,然后将此列表复制粘贴到aggregate
,但我认为必须有一个更简单的方法做这个。
我没有尝试过它用于项目,但是在这种情况下你可以检查反射是否有帮助:
protected val prjs = this.getClass.getDeclaredFields.flatMap { f =>
f.setAccessible(true)
f.get(this) match {
case p@Project => Some(f.asInstanceOf[Project])
case _ => None
}
}.map(x => Project.projectToRef(x))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.