Ответ
В Gradle для создания зависимостей между модулями используются:
implementation- зависимость доступна только текущему модулю (рекомендуется)api- зависимость транзитивно становится доступной другим модулямcompileOnly- зависимость нужна только для компиляцииruntimeOnly- зависимость нужна только во время выполнения
Пример:
dependencies {
implementation project(':feature')
api project(':core')
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
}
Разница между implementation и api:
implementationскрывает зависимости от потребителей (уменьшает время сборки)apiделает зависимости видимыми для всех модулей, зависящих от текущего