1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 00:17:11 -07:00

Generate BuildConfig.kt.

This commit is contained in:
Cedric Beust 2015-11-16 00:58:11 -08:00
parent 32f1f084a2
commit c924d9bcd3

View file

@ -11,8 +11,33 @@ class KotlinProjectInfo : IProjectInfo {
override val defaultSourceDirectories = hashSetOf("src/main/kotlin", "src/main/resources")
override val defaultTestDirectories = hashSetOf("src/test/kotlin", "src/test/resources")
private fun generate(type: String, name: String, value: Any) =
" val $name : $type = $value"
override fun generateBuildConfig(packageName: String, variant: Variant, buildConfigs: List<BuildConfig>) : String {
return "package $packageName"
val lines = arrayListOf<String>()
with(lines) {
add("package $packageName")
add("")
add("class BuildConfig {")
add(" companion object {")
if (variant.productFlavor != null) {
add(generate("String", "PRODUCT_FLAVOR", "\"" + variant.productFlavor.name + "\""))
}
if (variant.buildType != null) {
add(generate("String", "BUILD_TYPE", "\"" + variant.buildType.name + "\""))
}
buildConfigs.forEach {
it.fields.forEach { field ->
add(generate(field.type, field.name, field.value))
}
}
add(" }")
add("}")
add("")
}
return lines.joinToString("\n")
}
}