Piszę wtyczkę Gradle i uczę się gry Gradle, czytając podręcznik użytkownika i kod źródłowy wtyczek w projekcie Gradle.Wtyczka Gradle: Konwencja kontra rozszerzenie
W kodzie źródłowym, znalazłem 2 sposoby dodawania właściwości do projektu:
- konwencji (ustawiony przez JavaBasePlugin i wykorzystywane przez JavaPlugin)
- Extension (ustawione przez AnnoncePlugin i używane przez BuildAnnouncementsPlugin).
Nie rozumiem różnicy między nimi i tego, który z nich należy użyć w danej sytuacji. Czy ktoś mógłby wyjaśnić?
PS: Czy ktoś mógłby dodać tag "gradle-plugin" w SO proszę?