Gradle: использование setIgnore в локальной библиотеке на основе приложения build.gradle. - PullRequest
0 голосов
/ 18 мая 2018

Как использовать setIgnore для локальной библиотеки из приложения build.gradle или из библиотеки build.gradle на основе разновидности приложения.Я не уверен, могу ли я сослаться на приложение build.gradle flavor / dimension из библиотеки build.gradle.Я также не знаю, могу ли я ссылаться на библиотеку из приложений build.gradle и использовать lib.setIgnore (true).Любое решение этой проблемы?

В настоящее время я использую только одно измерение для приложения и несколько вариантов.

Вот как это обычно делается;но мне нужно установить Ignore для библиотеки на основе вкуса приложений.

android {
    ...
    variantFilter { variant ->
        if(variant.buildType.name == 'release' && variant.getFlavors().get(0).name == 'vanilla') {
            variant.setIgnore(true)
        }
    }
} 

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Вы можете попытаться подождать, пока граф задач будет собран, а затем удалить нежелательный шаблон имени следующим образом:

gradle.taskGraph.whenReady { graph ->
  graph.allTasks.findAll { it.name ==~ /.*vanilla.*/ }*.enabled = false
}
0 голосов
/ 18 мая 2018

Может быть, вы можете использовать библиотеку только тогда, когда вам нужно.

dependencies {
   // use "mylib" for debug
   debugImplementation project(path: ':mylib')
   // all the flavors
   implementation "com.android.support:appcompat-v7:28.0.0'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...