diff --git a/src/main/kotlin/com/beust/kobalt/Variant.kt b/src/main/kotlin/com/beust/kobalt/Variant.kt index 60fe759e..c00b8d8c 100644 --- a/src/main/kotlin/com/beust/kobalt/Variant.kt +++ b/src/main/kotlin/com/beust/kobalt/Variant.kt @@ -3,7 +3,6 @@ package com.beust.kobalt import com.beust.kobalt.api.* import com.beust.kobalt.misc.KFiles import com.beust.kobalt.misc.log -import com.beust.kobalt.misc.warn import java.io.File /** @@ -53,11 +52,17 @@ class Variant(val initialProductFlavor: ProductFlavorConfig? = null, } fun archiveName(project: Project, archiveName: String?, suffix: String) : String { - val base = if (archiveName != null) archiveName.substring(0, archiveName.length - suffix.length) - else project.name + "-" + project.version - val result: String = - base + "-${productFlavor.name}" + "-${buildType.name}" + val result = + if (isDefault) { + archiveName ?: project.name + "-" + project.version + suffix + } else { + val base = if (archiveName != null) archiveName.substring(0, archiveName.length - suffix.length) + else project.name + "-" + project.version + val result: String = + base + "-${productFlavor.name}" + "-${buildType.name}" + result + } return result } @@ -132,7 +137,6 @@ class Variant(val initialProductFlavor: ProductFlavorConfig? = null, fun toIntermediateDir() : String { if (isDefault) { - warn("DEFAULT VARIANT NOT IMPLEMENTED") return "" } else { return KFiles.joinDir(productFlavor.name, buildType.name) diff --git a/src/main/kotlin/com/beust/kobalt/plugin/android/AndroidPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/android/AndroidPlugin.kt index ca723baa..5a722af2 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/android/AndroidPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/android/AndroidPlugin.kt @@ -43,7 +43,7 @@ fun Project.android(init: AndroidConfig.() -> Unit) : AndroidConfig { @Singleton public class AndroidPlugin @Inject constructor(val javaCompiler: JavaCompiler, val merger: Merger) : ConfigPlugin(), IClasspathContributor, IRepoContributor, ICompilerFlagContributor, - ICompilerInterceptor, ISourceDirectoriesIncerceptor, IBuildDirectoryIncerceptor { + ICompilerInterceptor, IBuildDirectoryIncerceptor { override val name = "android" fun isAndroid(project: Project) = configurationFor(project) != null @@ -347,22 +347,27 @@ public class AndroidPlugin @Inject constructor(val javaCompiler: JavaCompiler, v // IBuildDirectoryInterceptor override fun intercept(project: Project, context: KobaltContext, buildDirectory: String): String { - val result = KFiles.joinDir(AndroidFiles.intermediates(project), "classes", - context.variant.toIntermediateDir()) - return result - } - - // ISourceDirectoriesInterceptor - override fun intercept(project: Project, context: KobaltContext, sourceDirectories: List): List { - return sourceDirectories.map { File("app", it.path)} + if (isAndroid(project)) { + val result = KFiles.joinDir(AndroidFiles.intermediates(project), "classes", + context.variant.toIntermediateDir()) + return result + } else { + return buildDirectory + } } // ICompilerInterceptor override fun intercept(project: Project, context: KobaltContext, actionInfo: CompilerActionInfo) : CompilerActionInfo { - val newOutputDir = KFiles.joinDir("kobaltBuild", "intermediates", "classes", - context.variant.toIntermediateDir()) - return actionInfo.copy(outputDir = File(newOutputDir)) + val result: CompilerActionInfo = + if (isAndroid(project)) { + val newOutputDir = KFiles.joinDir("kobaltBuild", "intermediates", "classes", + context.variant.toIntermediateDir()) + actionInfo.copy(outputDir = File(newOutputDir)) + } else { + actionInfo + } + return result } diff --git a/src/main/kotlin/com/beust/kobalt/plugin/android/Merger.kt b/src/main/kotlin/com/beust/kobalt/plugin/android/Merger.kt index 66d3566e..18ace908 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/android/Merger.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/android/Merger.kt @@ -33,7 +33,7 @@ class Merger @Inject constructor() { private fun mergeAndroidManifest(project: Project, variant: Variant) { val dest = AndroidFiles.mergedManifest(project, variant) log(1, "Manifest merging not implemented, copying it to $dest") - KFiles.copy(Paths.get("app/src/main/AndroidManifest.xml"), Paths.get(dest)) + KFiles.copy(Paths.get("src/main/AndroidManifest.xml"), Paths.get(dest)) } interface IFileMerger { @@ -101,11 +101,11 @@ class Merger @Inject constructor() { */ private fun mergeResources(project: Project, variant: Variant) { val dest = AndroidFiles.Companion.mergedResources(project, variant) - log(1, "Resource merging not implemented, copying app/src/main/res to $dest") + log(1, "Resource merging not implemented, copying src/main/res to $dest") listOf(variant.buildType.name, variant.productFlavor.name, "main").forEach { log(1, " CURRENT VARIANT: $it, Copying app/src/$it/res into $dest") - val fromDir = File("app/src/$it/res") + val fromDir = File("src/$it/res") KFiles.findRecursively(fromDir).forEach { val fromFile = File(fromDir, it) val toFile = File(dest, it) diff --git a/src/main/resources/META-INF/kobalt-plugin.xml b/src/main/resources/META-INF/kobalt-plugin.xml index 5e873e56..cb3e9fe1 100644 --- a/src/main/resources/META-INF/kobalt-plugin.xml +++ b/src/main/resources/META-INF/kobalt-plugin.xml @@ -34,9 +34,6 @@ com.beust.kobalt.plugin.android.AndroidPlugin - - com.beust.kobalt.plugin.android.AndroidPlugin - com.beust.kobalt.plugin.android.AndroidPlugin