Ich arbeite mit einem riesigen Projekt mit vielen Teilprojekten, einige von ihnen mit eigenen Teilprojekten. Darüber hinaus möchte ich, dass einige von ihnen dynamisch sind - wenn ich irgendwo im Projektbuild eine List
stelle, würde ich gerne ein Projekt für jedes der Elemente erstellen.
Aus diesen Gründen ist es sehr mühsam, ein lazy val
für jedes Projekt in build.sbt
zu definieren. Gibt es eine andere Möglichkeit, Projekte zu deklarieren, wie eine addProject
-ähnliche Methode, die wir überall aufrufen können? Gibt es ein SBT-Plugin, das dabei hilft?
Sbt verwendet Makros, um die oberste Ebene val
s in Projekte zu verwandeln, also glaube ich nicht, dass Sie in der Lage sein werden, diesem Teil zu entkommen. Sie können jedoch alle Funktionen definieren, die Sie in Project => Project
functions erstellen: (Beachten Sie, dass Sie auch mit der Funktionszusammensetzung "kostenlos" zusammensetzen können)
Verwenden Sie dann einfach project.configure(myConf)
für einzeilige Projektdefinitionen: