Android / Gradle: условно применять плагин на основе типа сборки


Answers

Вот решение, которое я использовал. Идея состоит в том, чтобы ввести переменную Env и применить плагин только в некоторых конкретных env.

if (System.getenv("PROJECT_ENV") == "Release") {
    apply plugin: 'your plugin'
}
Question

Я хотел бы сделать что-то вроде (псевдокода):

if (BuildType == "release"){
    apply plugin: 'testfairy'
} else if (BuildType == "debug"){
    apply plugin: 'io.fabric'
}

Идея состоит в том, что на основе типа сборки применяйте (или нет) плагин. Как это сделать ?




Помните профайлы maven? Вы можете сделать что-то подобное, используя этот фрагмент, который был заимствован из градиентной ярости

в файле сборки, if (project.hasProperty('profile') && project.profile.split(',').contains("ci")) { //do something }

затем запустите его, когда gradlew -Pprofile=ci

Здесь приведен полный пример: https://github.com/gradle-fury/gradle-fury/blob/develop/build.gradle

Отказ от ответственности, я работаю над градиентом. для науки