I\'m developing several modules with dependencies among them, and would like to work with them all together in one IDEA project. I\'m using sbt-idea to generate IDEA projects f
It seems to be an sbt restriction that the subprojects must live in subdirectories of the master project (i.e., file("../foo") is not allowed). This is not really what I want (what if a module--such as a "utils" or "commons" package--is used in two different master projects?) but I can live with it.
With sbt 13.5 and intellij 13.x, you can specify inter-project dependency with relative path, using a Build.scala. Let's say you have two projects, a core project commons and another project foo, both living in a common directory code/
put this code snippet insde Build.scala
object ProjectDependencies {
val commons = RootProject(file("../commons"))
}
object ProjectBuild extends Build {
import ProjectDependencies._
lazy val root = Project(id = "foo", base = file(".")).dependsOn(commons)
}
Generate your IntelliJ project via sbt by sbt gen-idea