I have a play 2.3.x project with multi-subprojects that are inter-related.
Say:
- R is the root project that aggregates subprojects A, B, C
- A depends on B, C
- B depends on C
The documentation does not mention about how the corresponding build.sbt should be written for A, B, C.
https://www.playframework.com/documentation/2.3.x/SBTSubProjects
Currently I declare all dependencies in my root build.sbt and it works fine (at least for sbt 0.13.5).
lazy val C = (project in file("modules/C"))
.enablePlugins(PlayJava)
lazy val B = (project in file("modules/B"))
.enablePlugins(PlayJava)
.dependsOn(C)
lazy val A = (project in file("modules/B"))
.enablePlugins(PlayJava)
.dependsOn(B, C)
lazy val root = (project in file("."))
.enablePlugins(PlayJava)
.dependsOn(A, B, C)
.aggregate(A, B, C)
.settings(
aggregate in update := false
)
But when I try to use a newer sbt, say, 0.13.6, all these dependencies are no longer works and seems it will refer to the build.sbt of the corresponding build.sbt.
So what is the preferred way of defining such inter-project dependencies?