sbt: dynamische Aggregation des Teilprojekts

8

Ich möchte ein System erfinden, um Teilprojekte dynamisch zu erkennen und sie automatisch in mein Projekt zu aggregieren. Oder zumindest das irgendwie konfigurieren.

Dazu plane ich entweder einen Ordner "modules" oder eine optionale Konfigurationsdatei, die Pfade zu den Modulen enthält.

In jedem Fall müsste ich Unterordner durchlaufen (oder eine Liste von Pfaden aus einer Konfigurationsdatei durchlaufen), und aggregiere jedes Unterprojekt . Ich weiß nicht, wie ich das machen soll.

Momentan baue ich im Play-Framework mit der build.sbt -Datei. Ich müsste die Schleife wie folgt hinzufügen:

%Vor%

Gibt es eine Möglichkeit, dies zu tun?

EDIT 3: Der Code hier funktioniert fast:

%Vor%

Bearbeiten 4:

Siehe Dale Wijnands Lösung unten.

Über den Fehler: RuntimeException: No project 'myModule' in 'file:/Users/me/mysite/modules/myModule' . Ich habe das mit der Lösung von Ссылка

behoben     
Emmanuel 19.06.2015, 15:44
quelle

2 Antworten

2

Hier:

project / Build.scala

%Vor%

Beachten Sie, dass die Modulverzeichnisse nicht auch build.sbt -Dateien enthalten, die sie als Projekte definieren, da dies zu einer verwirrenden RuntimeException: No project 'x' in 'file:/x' type-Ausnahme führt, siehe sbt 0.13.7 kann nicht mit Play-Unterprojekten verwendet werden

    
Dale Wijnand 25.06.2015, 21:20
quelle
0

Sie können etwas wie folgt ausprobieren:

%Vor%

Hinweis: Inspiriert von Dales Antwort, aber ich musste die "commonSettings" entfernen, sonst würde es für mich nicht funktionieren.

    
Peanut 24.06.2015 06:55
quelle