Skip to main content

Composite builds

Composite build (композитная сборка) — это подключение одного самостоятельного Gradle-проекта к сборке другого. В settings.gradle.kts это выглядит так:

includeBuild("build-logic")

В отличие от buildSrc, composite build — это полноценный Gradle-проект со своим settings.gradle.kts, build.gradle.kts и версиями. Его можно даже опубликовать и переиспользовать между разными проектами.

Зачем нужен

Composite build — основа для convention plugins (см. раздел Convention plugins). Вместо того чтобы дублировать настройки Gradle в каждом модуле, вы выносите общую логику в build-logic и подключаете его через includeBuild.

Composite build vs buildSrc

buildSrcComposite build
Инвалидация cacheЛюбое изменение сбрасывает весь кеш проектаКеш проекта не трогается
ВерсионированиеНетМожно публиковать
СкоростьЗамедляется на больших проектахРаботает как обычный Gradle-проект с кешированием

Материалы