Какие модули будут пересобраны при изменении модуля A зависящего от независимого модуля B

«Какие модули будут пересобраны при изменении модуля A зависящего от независимого модуля B» — вопрос из категории Gradle и сборка, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

При изменении модуля A, который зависит от модуля B (независимого), Gradle пересоберёт только модуль A. Независимый модуль B не будет пересобираться, так как он не зависит от изменений в модуле A.

Пример структуры зависимостей:

// build.gradle (:app)  
implementation project(':moduleA')  

// build.gradle (:moduleA)  
implementation project(':moduleB')  

Если изменить код в moduleA, Gradle пересоберёт только его и модуль app (так как он зависит от moduleA). moduleB останется без изменений.