From c06e92b679635f1c0b0f14c21ad425c270b6690f Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Fri, 24 Jun 2016 02:49:17 -0800 Subject: [PATCH] Move a few methods in BaseJvmPlugin. --- .../kotlin/com/beust/kobalt/api/ISimpleAffinity.kt | 2 +- .../com/beust/kobalt/internal/BaseJvmPlugin.kt | 14 ++++++++++---- .../com/beust/kobalt/plugin/java/JavaPlugin.kt | 11 +---------- .../com/beust/kobalt/plugin/kotlin/KotlinPlugin.kt | 13 ++----------- 4 files changed, 14 insertions(+), 26 deletions(-) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/ISimpleAffinity.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/ISimpleAffinity.kt index 2711248b..b9c7cdfe 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/ISimpleAffinity.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/ISimpleAffinity.kt @@ -8,5 +8,5 @@ interface ISimpleAffinity : IAffinity { * @return an integer indicating the affinity of your actor. The actor that returns * the highest affinity gets selected. */ - fun affinity(arg: T) : Int + fun affinity(project: T) : Int } \ No newline at end of file diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/BaseJvmPlugin.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/BaseJvmPlugin.kt index 44d2fe81..775f28e9 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/BaseJvmPlugin.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/internal/BaseJvmPlugin.kt @@ -1,9 +1,7 @@ package com.beust.kobalt.internal -import com.beust.kobalt.api.BasePlugin -import com.beust.kobalt.api.ConfigActor -import com.beust.kobalt.api.ICompilerFlagContributor -import com.beust.kobalt.api.IConfigActor +import com.beust.kobalt.api.* +import com.beust.kobalt.misc.KFiles /** * Base class for JVM language plug-ins. @@ -23,4 +21,12 @@ abstract class BaseJvmPlugin(open val configActor: ConfigActor) : override val flagPriority = FLAG_CONTRIBUTOR_PRIORITY + override fun accept(project: Project) = hasSourceFiles(project) + + // IBuildConfigContributor + + private fun hasSourceFiles(project: Project) + = KFiles.findSourceFiles(project.directory, project.sourceDirectories, listOf("java")).size > 0 + + fun affinity(project: Project) = if (hasSourceFiles(project)) 1 else 0 } \ No newline at end of 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 8a63e24b..26e14977 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt @@ -6,7 +6,6 @@ import com.beust.kobalt.api.* import com.beust.kobalt.api.annotation.Directive 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 java.io.File import javax.inject.Inject @@ -16,21 +15,13 @@ import javax.inject.Singleton class JavaPlugin @Inject constructor(val javaCompiler: JavaCompiler, override val configActor: ConfigActor) : BaseJvmPlugin(configActor), IDocContributor, ICompilerContributor, ITestSourceDirectoryContributor, IBuildConfigContributor { + companion object { const val PLUGIN_NAME = "Java" } override val name = PLUGIN_NAME - override fun accept(project: Project) = hasSourceFiles(project) - - // IBuildConfigContributor - - private fun hasSourceFiles(project: Project) - = KFiles.findSourceFiles(project.directory, project.sourceDirectories, listOf("java")).size > 0 - - override fun affinity(project: Project) = if (hasSourceFiles(project)) 1 else 0 - // IDocContributor override fun affinity(project: Project, context: KobaltContext) = if (accept(project)) 1 else 0 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 236cc713..b2fbd258 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinPlugin.kt @@ -10,7 +10,6 @@ import com.beust.kobalt.internal.KobaltSettings import com.beust.kobalt.internal.KotlinJarFiles import com.beust.kobalt.maven.DependencyManager import com.beust.kobalt.maven.dependency.FileDependency -import com.beust.kobalt.misc.KFiles import com.beust.kobalt.misc.KobaltExecutors import com.beust.kobalt.misc.log import com.beust.kobalt.misc.warn @@ -21,7 +20,8 @@ import javax.inject.Singleton class KotlinPlugin @Inject constructor(val executors: KobaltExecutors, val dependencyManager: DependencyManager, val settings: KobaltSettings, override val configActor: ConfigActor, val kotlinJarFiles: KotlinJarFiles) - : BaseJvmPlugin(configActor), IDocContributor, IClasspathContributor, ICompilerContributor, IBuildConfigContributor { + : BaseJvmPlugin(configActor), IDocContributor, IClasspathContributor, ICompilerContributor, + IBuildConfigContributor { companion object { const val PLUGIN_NAME = "Kotlin" @@ -29,15 +29,6 @@ class KotlinPlugin @Inject constructor(val executors: KobaltExecutors, val depen override val name = PLUGIN_NAME - override fun accept(project: Project) = hasSourceFiles(project) - - // IBuildConfigContributor - - private fun hasSourceFiles(project: Project) - = KFiles.findSourceFiles(project.directory, project.sourceDirectories, listOf("kt")).size > 0 - - override fun affinity(project: Project) = if (hasSourceFiles(project)) 1 else 0 - // IDocContributor override fun affinity(project: Project, context: KobaltContext) = if (project.sourceDirectories.any { it.contains("kotlin") }) 2 else 0