Słyszałem (i wiem, że widziałem też przykłady, jeśli tylko pamiętam gdzie), które sbt
mogą uzyskać zależności z repozytorium git.
Szukam zależności harrah / up z github. Repozytorium nie udostępnia żadnych plików JAR artefaktów, a jedynie drzewo źródłowe skonfigurowane do budowania przy użyciu sbt
. Proces, który sobie wyobrażam, polega na sbt
pobraniu repozytorium źródłowego, utworzeniu go, a następnie użyciu go jako artefaktu zależności.
Mogę sobie wyobrazić, że sbt
faktycznie może zrobić coś takiego. Czy to możliwe? A jeśli tak, to w jaki sposób?
build.sbt
?sbt
do ponownej kompilacji?clean
nie wydaje się pomagać.#master
wskażę, załaduj ponownie, klonuje, a następnie wypycham nowe zatwierdzenie do mastera i sbt nadal działa z oryginalnie sklonowanym repozytorium bez zauważenia nowego zatwierdzenia. W tym momencie trzeba go albo usunąć/.sbt/0.13/staging/
i ponownie sklonować, albo udać się tam i robićgit pull
Możesz zaimportować nieopakowane zależności do projektu z GitHub, traktując je jako zależności projektu przy użyciu
dependsOn
operatora. (Różni się to od sposobu, w jaki uwzględniane są zależności bibliotek prekompilowanych).Zauważ, że możesz określić, która gałąź ma zostać ściągnięta, używając
#
notacji. Oto kod Scala SBT, który działa dobrze dla mnie:Zwróć uwagę, że jeśli masz wiele projektów SBT zależnych od tego samego projektu zewnętrznego, warto skonfigurować centralny,
sbt.boot.directory
aby uniknąć niepotrzebnych ponownych kompilacji (zobacz instrukcje tutaj ).źródło
"my-project"
dynamicznie, używającname := "MyProject"
ustawienia zbuild.sbt
katalogu głównego projektu?git://
Wydaje się, że składnia protokołu nie działa dla mnie w play / sbt 13.0.https://
działa chociaż. Może to być również spowodowane ustawieniem specyficznym dla git.master
, w przeciwnym razie otrzymuję:[error] No project 'project_name' in 'ssh://[email protected]/user/project.git#branch'
Ponieważ miałem problemy z rozwiązaniem zależności mojej biblioteki (przy użyciu sugerowanego
RootProject
), chciałbym zwrócić uwagę na obiekt o nazwieProjectRef
. Tak więc, jeśli trzeba polegać na bibliotece znajdującej się w git, proponuję zrobić to w następujący sposób:Źródło: http://blog.xebia.com/git-subproject-compile-time-dependencies-in-sbt/
źródło
https uri
wersją.Chciałem dodać odpowiedź dla sbt 0.13+. Po prostu umieść coś takiego
build.sbt
w folderze głównym projektu (nieBuild.scala
):źródło