SBT: Zależność od innego projektu SBT bez publikacji

Mam zestaw luźno powiązanych komponentów, z których niektóre zależą od innych. Dla konkretności załóżmy, że mamy składniki „wspólne”, „a” i „b”. „wspólne” nie ma żadnych zależności, ale wszystkie inne projekty używają „wspólnych”. Ponadto „a” zależy od „b”. Wszystkie komponenty są napisane w Scali i chciałbym użyć sbt do ich zbudowania.

Przydałyby się następujące właściwości:

Wiele osób pracuje nad różnymi projektami, dlatego nie chcemy mieć pojedynczego repozytorium, a raczej jedno repozytorium na projekt.Budowanie projektu powinno być łatwe, a wszystkie zależności powinny być budowane automatycznie (w razie potrzeby). Oznacza to, że jeśli zmodyfikuję „wspólne”, a następnie zbuduję „b”, powinno to najpierw zbudować „wspólne”, a następnie przejść do budowania „b”.Być w stanie mieć wszystkie projekty w IDE, tak że refaktoryzacja i podobne zadania IDE działają poprawnie, a wszystkie projekty, których dotyczy problem, są poprawnie zmieniane.

O ile widzę, istnieją dwie możliwości posiadania zależności tego rodzaju w sbt; albo używamy podprojektów, albo korzystamy z zarządzanej zależności (która jest gdzieś wypychana, np. lokalnie). Wydaje się jednak, że obie te opcje nie zawierają powyższych (1) ani (2). W szczególności

Korzystanie z podprojektów zmusza nas do korzystania z jednego repozytorium, ponieważ cały podprojekt musi znajdować się w podkatalogach głównego projektu.Publikowanie projektów lokalnie i korzystanie z zarządzanych zależności jest uciążliwe, ponieważ zmiana „wspólnego”, a następnie budowanie „b” przejmuje tylko zmiany „wspólne”, jeśli projekt został zbudowany i opublikowany jako pierwszy. Widzę, że zależności zarządzane są przydatne w wielu przypadkach, ale w naszym konkretnym przypadku nie wydają się dobrze działać. Często pracujemy nad kilkoma projektami i jednocześnie je zmieniamy. Z tego powodu publikowanie często wydaje się zbyt skomplikowane.

Czy naprawdę nie można powiedzieć, że projekt sbt zależy od innego projektu sbt w pewnej (względnej) lokalizacji i że sbt zastanawia się, kiedy zbudować zależność?

questionAnswers(1)

yourAnswerToTheQuestion