а если у меня куча фича модулей и в каждом своя верстка под фичу, то мне в каждый модуль что-ли подтягивать в градл зависимости? Или даже в этом случае UI размещать для всех фич в отдельном ui-модуле. Тогда компоуз будет в градлах только app и ui модуль?
Зависимости добавляются в каждый модуль.
а никаких способов убрать этот дублирующийся код нет? наверно можно написать какой-то градл скрипт
да, можно написать свой и скрипт, и грэдл плагин и в нём можно что угодно сделать, хоть так чтобы в build.gradle было всего 3 строчки
понял, с плагином будет сложнее, но как скрипт писать разберусь , спасибо
Какой в этом смысл?
мм не понял вопрос, чтобы зависимости в нескольких модулях не дублировать.
да там и то, и то просто есть готовые плагины, хороший плагин видел у Аркадия, который разработчик Decompose и MVIKotlin я лично его исходники смотрел и написал себе свой плагин со своими конвенциями, там не сложно
стыдно, но с градл я немного теряюсь, надо пару материалов посмотреть
Можно использовать бандлы из Gradle version catalog
а это увеличивает вес сборки, если в каждом модуле зависимости? или все это дело как-то мержится
градл смотрит на весь список зависимостей в проекте, смотрит, какие версии требуются, резолвит какую-то одну итоговую версию, и её добавляет в итоговый артефакт. Дублирования зависимостей разных версий не будет, но будет какая-то версия, которая может даже отличаться от всех указанных вами версий в проекте, если какая-то зависимости транзитивно хочет затащить более новую версию. Gradle Build Scan, вкладка dependencies, расскажет больше)
да, такие я результаты и получал когда изучал как все это дело резолвится, но вот для разных модулей я этого не делал и удивился, когда app модуль зависит от ui модуля, в ui модуле есть компоуз, а в app он не появился, пока не прописал зависимости и туда тоже.
почитайте про api vs implementation, это как раз про транзитивные зависимости модулей
аа, понял, значит именно api project мне подтянул бы зависимости подлюченного модуля
Обсуждают сегодня