Как объявить «транзитивные» зависимости вкуса в многомодульном проекте Gradle?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как объявить «транзитивные» зависимости вкуса в многомодульном проекте Gradle?

Сообщение Anonymous »

Например, у меня есть 3 модуля (A, B и C), где A зависит от B, а B от C (A->B->C). Модуль A является точкой входа в процесс сборки, от него не зависит никакой другой модуль, например модуль :app в приложениях Android.
Модули A и C имеют одинаковое измерение вкуса и одинаковый набор вкусов (например, аромат1, аромат2, аромат3, аромат4 и т. д.). Модуль B не имеет никаких особенностей.

Теперь вопрос: как определить эти зависимости как «транзитивные» таким образом, чтобы модуль A и модуль C всегда совпадали по вкусу?

модуль A(вариант1) -> модуль B -> модуль C(вариант1)

модуль A(вариант2) -> модуль B - > модуль C(вкус2)

модуль A(вкус3) -> модуль B -> модуль C(вкус3)

etc..

Если бы все три модуля имели одинаковые варианты, Gradle автоматически сопоставил бы их, но поскольку B не имеет вариантов, возникает ошибка, которая уже описана. в этом вопросе: Модуль с одним вкусом, основанный на библиотеке с несколькими вариантами в Gradle
, но ни один из ответов действительно не имеет значения:(

Что мне нужно, так это если Я запускаю ./gradlew buildFlavor1Debug, чтобы получить модуль A и C с ароматом1, и в целом, чтобы все модули, которые знают о вкусах, соответствовали вкусу, заданному в начале цепочки, и для модулей, которые не знают о вкусах, просто для пересылки /игнорировать их.

Проблема с недостающим измерениемDimensionStrategy заключается в том, что оно требует, чтобы вариант зависимости был жестко запрограммирован/фиксирован, а не динамический в зависимости от точки входа сборки, для пример: MissingDimensionStrategy 'myDimension' 'flavor1'

модуль A(flavor1) -> модуль B -> модуль C(flavor1)

модуль A(вариант2) -> модуль B -> модуль C(вариант1)

модуль A(вариант3) -> модуль B -> модуль C( вкус1)

и т. д.

Подробнее здесь: https://stackoverflow.com/questions/554 ... le-project
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»