Ich habe gehört (und ich weiß, dass ich auch Beispiele gesehen habe, wenn ich mich nur daran erinnern kann, wo), dass sbt
Abhängigkeiten von einem Git-Repo erhalten werden können.
Ich suche nach der Abhängigkeit harrah / up von github. Das Repository stellt keine Artefakt-JAR-Dateien bereit, sondern nur einen Quellbaum, der für die Erstellung mit erstellt wurde sbt
. Der Prozess, den ich mir vorstelle, besteht darin, sbt
das Quell-Repo herunterzuladen, es zu erstellen und es dann als Abhängigkeitsartefakt zu verwenden.
Ich kann mir vorstellen, dass sbt
das tatsächlich so etwas kann. Kann es? Und wenn ja, wie?
build.sbt
?sbt
eine Neukompilierung?clean
scheint nicht zu helfen.#master
es, dann drücke ich ein neues Commit an den Master und sbt funktioniert weiterhin mit dem ursprünglich geklonten Repository ohne ein neues Commit zu bemerken. An diesem Punkt muss man es entweder löschen/.sbt/0.13/staging/
und sbt es erneut klonen lassen oder dorthin gehen und es tungit pull
Sie können ungepackte Abhängigkeiten von GitHub in Ihr Projekt importieren, indem Sie sie mit dem
dependsOn
Operator als Projektabhängigkeiten behandeln . (Dies unterscheidet sich von der Art und Weise, wie vorkompilierte Bibliotheksabhängigkeiten enthalten sind.)Beachten Sie, dass Sie mithilfe der
#
Notation angeben können, welcher Zweig abgerufen werden soll . Hier ist ein Scala SBT-Code, der für mich gut funktioniert:Beachten Sie, dass es sich lohnt, eine zentrale Einrichtung einzurichten, wenn Sie mehrere SBT-Projekte haben, die von demselben externen Projekt abhängen
sbt.boot.directory
, um unnötige Neukompilierungen zu vermeiden (siehe Anweisungen hier ).quelle
"my-project"
, mithilfe dername := "MyProject"
Einstellung aus dembuild.sbt
Projektstamm dynamisch festzulegen?git://
Die Protokollsyntax scheint in play / sbt 13.0 für mich nicht zu funktionieren.https://
funktioniert aber. Dies kann auch durch eine git-spezifische Einstellung verursacht werden.master
, sonst bekomme ich:[error] No project 'project_name' in 'ssh://[email protected]/user/project.git#branch'
Da ich Probleme hatte, die Abhängigkeiten meiner Bibliothek zu lösen (unter Verwendung der vorgeschlagenen
RootProject
), möchte ich auf das aufgerufene Objekt hinweisenProjectRef
. Wenn man sich also auf eine Bibliothek in Git verlassen muss, schlage ich Folgendes vor:Quelle: http://blog.xebia.com/git-subproject-compile-time-dependencies-in-sbt/
quelle
https uri
Version.Ich wollte eine Antwort für sbt 0.13+ hinzufügen. Legen Sie einfach so etwas in Ihren
build.sbt
Stammverzeichnis des Projekts (nichtBuild.scala
):quelle