Допустим, у нас есть модули A, B и C и зависимости go A -> B -> C. Теперь я не хочу, чтобы какой-либо из C -кодов был виден внутри A.
Введите нетранзитивные зависимости! В build.gradle B я объявляю implementation (C) { transitive = false }
. Теперь, если я ссылаюсь на код C из A, я получаю ошибку во время компиляции. Именно то, что я хочу.
Проблема в том, что Android Studio все еще позволяет мне это делать. Находясь в A, он автозаполняется, автоматически импортирует классы из C и никоим образом не предупреждает меня. Это ошибка, или я что-то упустил?