somehow every module is able to see kotlin files from buildSrc
our Config.kt file:
enum class Flavors(
val appName: String,
val flavorName: String,
val suffix: String,
val apiUrl: String,
val login: String,
val pass: String,
) {
BANK_DEV(
"App dev",
"bankDev",
".dev",
"\"<https://google.com/>\"",
"\"test2\"",
"\"2022\"",
),
;
companion object {
const val DIMENSION = "default"
}
}
then in app/build.gradle:
flavorDimensions(Config.Flavors.DIMENSION)
productFlavors {
create(Config.Flavors.BANK_DEV.flavorName) {
dimension = Config.Flavors.DIMENSION
applicationIdSuffix = Config.Flavors.BANK_DEV.suffix
resValue("string", "app_name", Config.Flavors.BANK_DEV.appName)
buildConfigField("String", "API_URL", Config.Flavors.BANK_DEV.apiUrl)
}
}
any other module, for example auth/build.gradle:
flavorDimensions(Config.Flavors.DIMENSION)
productFlavors {
create(Config.Flavors.BANK_DEV.flavorName) {
dimension = Config.Flavors.DIMENSION
buildConfigField("String", "Login", Config.Flavors.BANK_DEV.login)
buildConfigField("String", "Pass", Config.Flavors.BANK_DEV.pass)
}
}