Я создаю различные продукты для Android-приложений в Gradle (Android Studio).
Следовательно, я определил следующие ароматы продукта:
android {
project.ext.set("customer", "")
project.ext.set("server", "")
//Configuration happens here - code removed for readability
buildTypes {
debug {
server = "test"
}
release {
server = "release"
}
}
//Available product flavors
productFlavors {
customerA{
customer = "a"
}
customerB{
customer = "b"
}
customerC{
customer = "c"
}
}
}
Однако позже, когда я получаю доступ к определенному свойству проекта "клиент" (значение которого задано в цвете продукта, которое я сейчас создаю) в одной из моих задач сборки, оно всегда имеет значение "c", хотя iam (в этом случае клиент недвижимости должен быть "а", а не "с" ). Например, я выполняю следующую задачу позже:
preBuild << {
println "Building customer: " + customer
}
и он всегда печатает:
Клиент здания: c
Итак, я предполагаю, что происходит переписывание? Возможно, связано с фазой выполнения VS-конфигурации конфигурации? Не знаю, как и почему, поэтому любая помощь будет принята с благодарностью.
UPDATE. В качестве альтернативы, это уже позволило бы мне определить название продукта (без прикрепленного к нему типа типа сборки) и типа сборки (опять же: без названия аромата продукта к нему) во время фазы выполнения сборки Gradle.
Учитывая приведенную выше конфигурацию, ожидаемые названия аромата продукта будут: customerA, customerB и customerC.