Wie man mehrere voneinander abhängige Module mit SBT und IntelliJ IDEA verwaltet?

Entwickle ich diverse Module mit Abhängigkeiten zwischen Ihnen, und würde gerne mit Ihnen arbeiten alle zusammen in einem IDEA-Projekt. Ich bin mit sbt-Idee zu generieren, IDEE, Projekte aus dem sbt build-Definitionen, die funktioniert gut für einzelne Projekte. Bei der multiple-Modul jedoch der Fall, kann die Dinge, die ich bisher ausprobiert habe nicht ganz so funktioniert:

Verwenden sbt-Idee zu generieren, eine IDEE .iml-Datei für jedes Modul unabhängig; dann erstellen Sie ein master-IDEE Projekt von Grund auf ein add, dass diese Module. Dies macht das Modul Quellen, die alle bearbeitet werden, in der gleichen Fenster, aber die Abhängigkeiten zwischen Ihnen werden nicht verfolgt (so versucht, navigieren Sie von einer Quelle innerhalb der foo Projekt, um etwas in bar nimmt mich auf die importierte library-version von barnicht die lokalen Quellen).

Verwenden sbt multi-Projekt-builds (aka Teilprojekte)wo das übergeordnete Projekt zu Bauen.scala enthält Dinge wie:

lazy val foo = Project(id = "foo", base = file("foo"))
lazy val bar = Project(id = "bar", base = file("bar")) dependsOn(foo)

Diese fast funktioniert, dass sbt-Idee erzeugt eine master-IDEE Projekt mit den Abhängigkeiten unter den Teilprojekten verfolgt. Es gibt jedoch zwei Vorbehalte:

  1. Es scheint zu sein, ein sbt Einschränkung, dass die Teilprojekte Leben müssen, in Unterverzeichnissen des master-Projekts (D. H., file("../foo") ist nicht erlaubt). Das ist nicht wirklich das was ich will (was passiert, wenn ein Modul--wie ein "utils" oder "commons" - Paket--in zwei verschiedenen master-Projekte?) aber ich kann mit Ihr Leben.
  2. Einer meiner Teilprojekte hat seine eigenen Teilprojekte; ich bin mir nicht sicher, ob sbt selbst beschäftigt sich mit dieser verschachtelt ist, dass Projekte richtig, aber in jedem Fall werden Sie ignoriert, indem sbt-Idee. Offensichtlich muss ich verschachtelte Unterprojekte einbezogen werden rekursiv in das master-Projekt.

Zusammen zu fassen: ich würde gerne sammeln-Module die bereits über die Teilprojekte in eine große IDEE-Projekt mit verfolgt Abhängigkeiten zur bequemen Bearbeitung. Wie kann ich es tun? Danke!

InformationsquelleAutor der Frage David Soergel | 2012-01-06

Schreibe einen Kommentar