Blog
Git-Unterprojekt-Kompilierzeit-Abhängigkeiten in Sbt
import sbt.{Build, Project, ProjectRef, uri}
object GotoBuild extends Build {
lazy val root = Project("root", sbt.file(".")).dependsOn(staminaCore, staminaJson, ...)
lazy val staminaCore = ProjectRef(uri("git://github.com/scalapenos/stamina.git#master"), "stamina-core")
lazy val staminaJson = ProjectRef(uri("git://github.com/scalapenos/stamina.git#master"), "stamina-json")
...
}
Diese Unterprojekte sind nun eine Kompilierzeit-Abhängigkeit und sbt zieht das Repository in ~/.sbt/0.13/staging/[sha]/stamina ein und verwaltet es. Es ist also kein manuelles Auschecken mit lokaler Veröffentlichung erforderlich. Das ist sehr praktisch, wenn man von einem internen unabhängigen Projekt/Modul abhängig ist und nicht für jede Änderung eine neue Version erstellen muss. (Eine Randbemerkung ist, dass mein IntelliJ derzeit nicht erkennt, dass sich die Bibliothek im Class/Source-Pfad des Hauptprojekts befindet, so dass es sich beschwert, dass es keine Symbole finden kann und daher keine ordnungsgemäße Syntaxprüfung und automatische Vervollständigung durchführen kann). Verfasst von
Contact









