现在的情况
对于 scala 项目,我有以下目录结构:
~/development/projects/projectA
~/development/projects/projectB
~/development/projects/projectC
...
我编写了一个 sbt 构建定义来从根项目构建所有项目:
~/development/projects/build.sbt
该文件包含每个项目的条目:
lazy val projectA = project
lazy val projectB = project.dependsOn(projectB)
...
每次我添加一个项目或更改项目之间的依赖关系时,我都必须更新这个文件。
目标
我认为没有必要手动执行此操作。每个项目已经包含一个build.sbt
文件,其中配置了项目的依赖项。
所以 sbt 已经知道所有的依赖项,并且根项目应该能够轻松找到所有项目,因为它们位于包含build.sbt
文件的子目录中。
是否有现有的机制或插件可以自动获取所有项目,分析它们的依赖关系并按顺序构建它们?
如果它可以处理这样的递归子项目目录结构,那将是完美的:
~/development/projects/domainA/projectA
~/development/projects/domainA/projectA
~/development/projects/domainB/projectC
~/development/projects/domainB/projectD
....
如果没有这样的机制或插件:
- 也许我误会了什么。其他人如何构建多个相互依赖的项目?
- 我应该自己写一个任务或插件来让 sbt 做我想做的事吗?对此有任何提示吗?