Изящно обрабатывать отсутствующие определения gradle (используйте значения по умолчанию, если определение отсутствует) - PullRequest
0 голосов
/ 19 ноября 2018

Я обычно делаю следующее в своих проектах:

1) определяю файл versions.gradle, например:

ext {

    setup = [
        compileSdk: 28,
        enableDataBinding: true,
        minSdk    : 16,
        targetSdk : 28
    ]

    androidx = [
        supportv4: "1.0.0",
        appcompat: "1.0.0",
        cardview: "1.0.0",
        viewpager: "1.0.0",
        material: "1.0.0"
    ]

}

2) Я добавляю этот файл версий в мои проекты файл Gradle:

apply from: './versions.gradle'

3) Я использую версии из файла во всех файлах Gradle моего проекта для последовательных версий библиотек, например:

implementation "androidx.appcompat:appcompat:${androidx.appcompat}"

Вопрос

Как я могу изящно справиться с этим в библиотеках с открытым исходным кодом, которые я использую?Я хочу, чтобы, если кто-то проверил мою библиотеку и добавил библиотеку непосредственно в свои проекты, была предоставлена ​​какая-то версия по умолчанию, чтобы эта строка implementation "androidx.appcompat:appcompat:${androidx.appcompat}" не вызывала ошибок (${androidx.appcompat} следует заменить на 1.0.0, например, вэтот случай).

Есть ли способ решить это легко?Я хочу, чтобы файл версии использовался, если он был доступен, а в противном случае использовалась резервная версия ...

1 Ответ

0 голосов
/ 19 ноября 2018

Попытка Оператор Элвиса для размещения значение по умолчанию может сделать этот трюк, поэтому замена его на оператор, как показано ниже, работает:

implementation "androidx.appcompat:appcompat:${androidx.appcompat ?: 'default value here'}"

Больше от здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...