Изменение в частном методе перестраивает зависимый от Gradle модуль

поэтому у меня есть проект Android с модулем App, который зависит от модуля A, который зависит от модуля B (App -> A -> B), таким образом, что файл gradle модуля A выглядит следующим образом:

...
implementation project(':feature_B')
...

Затем в модуле B у меня есть следующий класс:

public class Whatever() {
  private void doSomething() {
    int value = 5;
  }
}

Итак, проблема в том, что всякий раз, когда я меняю метод doSomething(), например, устанавливая value на 6 вместо 5, а затем перестраивая проект, я получаю этот журнал:

...

> Task :feature_B:kaptDebugKotlin
> Task :feature_BcompileDebugKotlin
> Task :feature_B:javaPreCompileDebug UP-TO-DATE
> Task :feature_B:compileDebugJavaWithJavac
...
> Task :feature_A:kaptDebugKotlin
> Task :feature_A:compileDebugKotlin
> Task :feature_A:javaPreCompileDebug
> Task :feature_A:compileDebugJavaWithJavac UP-TO-DATE
...

Когда, согласно этому докладу Google IO '17 (https://thewikihow.com/video_7ll-rkLCtyk&t=1566s), модуль A вообще не должен быть перестроен, поскольку единственное, что изменилось в B, - это реализация частного метода... Поэтому все задачи для A должны быть "UP -НА СЕГОДНЯШНИЙ ДЕНЬ"...

Я что-то упустил в моем модуле A gradle файл? это парень из гугла придумал?

Большое спасибо!

Я не специалист по Android@Gradle, но compileDebugJavaWithJavac является АКТУАЛЬНЫМ, поэтому, поскольку вы внесли изменение, совместимое с ABI (изменение частного метода), это кажется нормальным. Что касается других задач, я не могу сказать. Может быть, вы можете поделиться больше журналов?

ToYonos 20.03.2019 18:21
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
119
0

Другие вопросы по теме