From 45cd429d0813e9b0e5c818759643fa68e5b3cf8d Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Fri, 24 Jun 2016 01:47:03 -0800 Subject: [PATCH] Move the compiler interfaces in kobalt-plugin-api. --- .../beust/kobalt/api/ICompilerContributor.kt | 21 ++++++++++++++ .../com/beust/kobalt/plugin/Compilers.kt | 28 ------------------- .../kobalt/plugin/groovy/GroovyPlugin.kt | 7 +---- .../beust/kobalt/plugin/java/JavaCompiler.kt | 2 +- .../beust/kobalt/plugin/java/JavaPlugin.kt | 1 - .../kobalt/plugin/kotlin/KotlinPlugin.kt | 2 -- 6 files changed, 23 insertions(+), 38 deletions(-) delete mode 100644 src/main/kotlin/com/beust/kobalt/plugin/Compilers.kt diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/ICompilerContributor.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/ICompilerContributor.kt index e925788b..3a852098 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/ICompilerContributor.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/ICompilerContributor.kt @@ -1,6 +1,7 @@ package com.beust.kobalt.api import com.beust.kobalt.TaskResult +import com.beust.kobalt.misc.warn interface ICompilerDescription : Comparable { /** @@ -38,3 +39,23 @@ interface ICompilerDescription : Comparable { interface ICompilerContributor : IProjectAffinity, IContributor { fun compilersFor(project: Project, context: KobaltContext): List } + +interface ICompiler { + fun compile(project: Project, context: KobaltContext, info: CompilerActionInfo): TaskResult +} + +class CompilerDescription(override val sourceSuffixes: List, override val sourceDirectory: String, + val compiler: ICompiler, override val priority: Int = ICompilerDescription.DEFAULT_PRIORITY) +: ICompilerDescription { + override fun compile(project: Project, context: KobaltContext, info: CompilerActionInfo): TaskResult { + val result = + if (info.sourceFiles.size > 0) { + compiler.compile(project, context, info) + } else { + warn("Couldn't find any source files to compile") + TaskResult() + } + return result + } +} + diff --git a/src/main/kotlin/com/beust/kobalt/plugin/Compilers.kt b/src/main/kotlin/com/beust/kobalt/plugin/Compilers.kt deleted file mode 100644 index 6ed3b8a7..00000000 --- a/src/main/kotlin/com/beust/kobalt/plugin/Compilers.kt +++ /dev/null @@ -1,28 +0,0 @@ -package com.beust.kobalt.plugin - -import com.beust.kobalt.TaskResult -import com.beust.kobalt.api.CompilerActionInfo -import com.beust.kobalt.api.ICompilerDescription -import com.beust.kobalt.api.KobaltContext -import com.beust.kobalt.api.Project -import com.beust.kobalt.misc.warn - -interface ICompiler { - fun compile(project: Project, context: KobaltContext, info: CompilerActionInfo): TaskResult -} - -class CompilerDescription(override val sourceSuffixes: List, override val sourceDirectory: String, - val compiler: ICompiler, override val priority: Int = ICompilerDescription.DEFAULT_PRIORITY) - : ICompilerDescription { - override fun compile(project: Project, context: KobaltContext, info: CompilerActionInfo): TaskResult { - val result = - if (info.sourceFiles.size > 0) { - compiler.compile(project, context, info) - } else { - warn("Couldn't find any source files to compile") - TaskResult() - } - return result - } -} - diff --git a/src/main/kotlin/com/beust/kobalt/plugin/groovy/GroovyPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/groovy/GroovyPlugin.kt index 2a6c0c72..2d7122b6 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/groovy/GroovyPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/groovy/GroovyPlugin.kt @@ -1,16 +1,11 @@ package com.beust.kobalt.plugin.groovy import com.beust.kobalt.TaskResult -import com.beust.kobalt.api.CompilerActionInfo -import com.beust.kobalt.api.ICompilerContributor -import com.beust.kobalt.api.KobaltContext -import com.beust.kobalt.api.Project +import com.beust.kobalt.api.* import com.beust.kobalt.maven.DependencyManager import com.beust.kobalt.misc.KFiles import com.beust.kobalt.misc.Strings import com.beust.kobalt.misc.log -import com.beust.kobalt.plugin.CompilerDescription -import com.beust.kobalt.plugin.ICompiler import com.google.inject.Inject import com.google.inject.Singleton import java.io.File diff --git a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaCompiler.kt b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaCompiler.kt index e8fac6ff..912831cc 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaCompiler.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaCompiler.kt @@ -4,6 +4,7 @@ import com.beust.kobalt.JavaInfo import com.beust.kobalt.SystemProperties import com.beust.kobalt.TaskResult import com.beust.kobalt.api.CompilerActionInfo +import com.beust.kobalt.api.ICompiler import com.beust.kobalt.api.KobaltContext import com.beust.kobalt.api.Project import com.beust.kobalt.internal.ICompilerAction @@ -12,7 +13,6 @@ import com.beust.kobalt.misc.KFiles import com.beust.kobalt.misc.Strings import com.beust.kobalt.misc.log import com.beust.kobalt.misc.warn -import com.beust.kobalt.plugin.ICompiler import com.google.inject.Inject import com.google.inject.Singleton import java.io.File diff --git a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt index 8cc934e2..8a63e24b 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt @@ -8,7 +8,6 @@ import com.beust.kobalt.internal.BaseJvmPlugin import com.beust.kobalt.internal.JvmCompilerPlugin import com.beust.kobalt.misc.KFiles import com.beust.kobalt.misc.warn -import com.beust.kobalt.plugin.CompilerDescription import java.io.File import javax.inject.Inject import javax.inject.Singleton diff --git a/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinPlugin.kt index 439cdd97..236cc713 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinPlugin.kt @@ -14,8 +14,6 @@ import com.beust.kobalt.misc.KFiles import com.beust.kobalt.misc.KobaltExecutors import com.beust.kobalt.misc.log import com.beust.kobalt.misc.warn -import com.beust.kobalt.plugin.CompilerDescription -import com.beust.kobalt.plugin.ICompiler import javax.inject.Inject import javax.inject.Singleton