Различные вкусы для модуля - PullRequest
0 голосов
/ 15 июня 2019

В моем проекте есть приложение со вкусами 'dev' и 'prod'

flavorDimensions 'default'

productFlavors {
    dev {}
    prod {}
}

Также в проекте есть модуль 'data' со вкусами 'mock' и 'real'

flavorDimensions 'default'

productFlavors {
    mock {}
    real {}
}

'app' зависит от 'data'

dependencies {
    implementation project(':data')
    ...
}

В конце концов мне нужна как минимум следующая комбинация вариантов сборки.enter image description here

Проблема в том, что при синхронизации проектов я получаю несколько ошибок, таких как

ERROR: Unable to resolve dependency for ':app@devDebug/compileClasspath': Could not resolve project :data.

Добавлен в 'app / build.gradle'

configurations {
    mockDebugImplementation
}

и объявленная зависимость от 'data' как

mockDebugImplementation project(path: ':data', configuration: 'mockDebug')

Это решает проблему с синхронизацией.

Затем я выбираю вариант сборки 'devDebug' для 'app' и 'mockDebug' для 'data'.И возникла еще одна проблема: во время компиляции app не видит зависимые классы от data.

Я подозреваю, что неверное имя для конфигурации 'mockDebugImplementation', но не совсем понимаю, что это будет.Может ли кто-нибудь предложить правильное имя конфигурации?

...