From 9f00303e9d4939d39718105499eb7f543a561476 Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Tue, 24 Nov 2015 23:17:09 -0800 Subject: [PATCH] Only generate BuildConfig if at least one buildConfig{} was found. --- src/main/kotlin/com/beust/kobalt/Variant.kt | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/com/beust/kobalt/Variant.kt b/src/main/kotlin/com/beust/kobalt/Variant.kt index a8048497..a315c7db 100644 --- a/src/main/kotlin/com/beust/kobalt/Variant.kt +++ b/src/main/kotlin/com/beust/kobalt/Variant.kt @@ -96,7 +96,7 @@ class Variant(val initialProductFlavor: ProductFlavorConfig? = null, } /** - * Generate BuildConfig.java. Also look up if any BuildConfig is defined on the current build type, + * Generate BuildConfig.java if requested. Also look up if any BuildConfig is defined on the current build type, * product flavor or main project, and use them to generate any additional field (in that order to * respect the priorities). */ @@ -105,16 +105,18 @@ class Variant(val initialProductFlavor: ProductFlavorConfig? = null, val buildConfigs = findBuildConfigs(project, context.variant) - val androidConfig = (Kobalt.findPlugin("android") as AndroidPlugin).configurationFor(project) - val pkg = androidConfig?.applicationId ?: project.packageName ?: project.group + if (buildConfigs.size > 0) { + val androidConfig = (Kobalt.findPlugin("android") as AndroidPlugin).configurationFor(project) + val pkg = androidConfig?.applicationId ?: project.packageName ?: project.group ?: throw KobaltException( "packageName needs to be defined on the project in order to generate BuildConfig") - val code = project.projectInfo.generateBuildConfig(pkg, context.variant, buildConfigs) - generatedSourceDirectory = KFiles.makeDir(generated(project), pkg.replace('.', File.separatorChar)) - val outputFile = File(generatedSourceDirectory, "BuildConfig" + project .sourceSuffix) - KFiles.saveFile(outputFile, code) - log(2, "Generated ${outputFile.path}") + val code = project.projectInfo.generateBuildConfig(pkg, context.variant, buildConfigs) + generatedSourceDirectory = KFiles.makeDir(generated(project), pkg.replace('.', File.separatorChar)) + val outputFile = File(generatedSourceDirectory, "BuildConfig" + project.sourceSuffix) + KFiles.saveFile(outputFile, code) + log(2, "Generated ${outputFile.path}") + } } override fun toString() = toTask("")