Czy ktoś może mi powiedzieć, jaka jest różnica między sekcją „wszystkie projekty” a sekcją „podprojekty” w przypadku kompilacji z wieloma projektami? Tylko katalog nadrzędny? Czy ktoś używa obu? Jeśli tak, czy masz ogólne zasady, które określają, co jest zwykle umieszczane w każdym z nich?
Powiązane pytanie: jaka jest różnica między tymi dwoma składniami (tak naprawdę dla wszystkich projektów ORAZ podprojektów):
subprojects { ...
}
i
configure(subprojects) { ...
}
Kiedy byłbyś jeden nad drugim?
Dodając do odpowiedzi Ryana,
configure
metoda staje się ważna, gdy chcesz skonfigurować niestandardowe podzbiory obiektów. Na przykładconfigure([project(":foo"), project(":bar")]) { ... }
lubconfigure(tasks.matching { it.name.contains("foo") }) { ... }
.Kiedy używać,
allprojects
a kiedysubprojects
zależy od okoliczności. Często będziesz używać obu. Na przykład wtyczki związane z kodem, takie jak wtyczka Java, są zwykle stosowane dosubprojects
, ponieważ w wielu kompilacjach projekt główny nie zawiera żadnego kodu. Z drugiej strony wtyczki Eclipse i IDEA są zwykle stosowane doallprojects
. W razie wątpliwości spójrz na przykłady i inne kompilacje i / lub eksperyment. Ogólnym celem jest uniknięcie nieistotnej konfiguracji. W tym sensiesubprojects
jest lepsze niżallprojects
tak długo, jak długo daje oczekiwane rezultaty.źródło