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

Move a few methods in BaseJvmPlugin.

This commit is contained in:
Cedric Beust 2016-06-24 02:49:17 -08:00
parent 364c696a55
commit c06e92b679
4 changed files with 14 additions and 26 deletions

View file

@ -8,5 +8,5 @@ interface ISimpleAffinity<T> : 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
}

View file

@ -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<T>(open val configActor: ConfigActor<T>) :
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
}

View file

@ -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<JavaConfig>)
: BaseJvmPlugin<JavaConfig>(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

View file

@ -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<KotlinConfig>,
val kotlinJarFiles: KotlinJarFiles)
: BaseJvmPlugin<KotlinConfig>(configActor), IDocContributor, IClasspathContributor, ICompilerContributor, IBuildConfigContributor {
: BaseJvmPlugin<KotlinConfig>(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