Модуль приложения Android перекомпилируется при замене вышестоящего модуля? - PullRequest
0 голосов
/ 18 января 2020

Я только что посмотрел выступление Бена Вейса под названием "Лучшие практики для модульного приложения" . Во фрагменте продолжительностью 3 минуты (начиная с 21: 50 до 24: 50 ) Бен показывает два примера:

  +-------------+                         +-------------+
  |  :feature   |                         |  :feature   |
  +------+------+                         +------+------+
         |                                       |
         | implementation                        | implementation
         |                                       |
         v                                       v
  +-------------+                         +-------------+
  |    :app     |                         |    :app     |
  +------+------+                         +------+------+
         |                                       |
         |  api                                  | implementation
         |                                       |
         v                                       v
  +-------------+                         +-------------+
  |  :library   |                         |  :library   |
  +-------------+                         +-------------+


     EXAMPLE 1                               EXAMPLE 2   

Автор постулирует, что:

  • в примере 1: изменение любого из модулей приводит к перекомпиляции всех из них
  • в примере 2: изменение :library или :app приводит к перекомпиляции всех из них, изменение :feature на перекомпиляцию только :feature.

Оба утверждения противоречат моему убеждению, что смена модуля приводит к перекомпиляции только модулей, зависящих от него . Например, изменение :app никогда не должно вызывать необходимость перекомпиляции :library, так как :library не знает о своих клиентах.

Пожалуйста, не могли бы вы немного подробнее рассказать о примере, приведенном автором о разговоре? Прав ли автор? Как это возможно?

...