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

IBuildConfigContributor.

Step toward removing javaProject/kotlinProject.
This commit is contained in:
Cedric Beust 2016-02-04 22:21:47 +04:00
parent 08f5fcd04b
commit 691e59f0cb
10 changed files with 63 additions and 27 deletions

View file

@ -1,10 +1,8 @@
package com.beust.kobalt.app.java
import com.beust.kobalt.app.BuildGenerator
import com.beust.kobalt.plugin.java.JavaProjectInfo
import com.google.inject.Inject
public class JavaBuildGenerator @Inject constructor (val projectInfo: JavaProjectInfo) : BuildGenerator() {
public class JavaBuildGenerator: BuildGenerator() {
override val defaultSourceDirectories = hashSetOf("src/main/java")
override val defaultTestDirectories = hashSetOf("src/test/java")
override val directive = "javaProject"

View file

@ -1,10 +1,8 @@
package com.beust.kobalt.app.kotlin
import com.beust.kobalt.app.BuildGenerator
import com.beust.kobalt.plugin.kotlin.KotlinProjectInfo
import com.google.inject.Inject
public class KotlinBuildGenerator @Inject constructor (val projectInfo: KotlinProjectInfo) : BuildGenerator() {
public class KotlinBuildGenerator : BuildGenerator() {
override val defaultSourceDirectories = hashSetOf("src/main/kotlin")
override val defaultTestDirectories = hashSetOf("src/test/kotlin")
override val directive = "kotlinProject"

View file

@ -1,6 +1,7 @@
package com.beust.kobalt.plugin.java
import com.beust.kobalt.TaskResult
import com.beust.kobalt.Variant
import com.beust.kobalt.api.*
import com.beust.kobalt.api.annotation.Directive
import com.beust.kobalt.internal.BaseJvmPlugin
@ -11,7 +12,8 @@ import javax.inject.Singleton
@Singleton
class JavaPlugin @Inject constructor(val javaCompiler: JavaCompiler)
: BaseJvmPlugin<JavaConfig>(), IDocContributor, ICompilerContributor, ITestSourceDirectoryContributor {
: BaseJvmPlugin<JavaConfig>(), IDocContributor, ICompilerContributor, ITestSourceDirectoryContributor,
IBuildConfigContributor {
companion object {
const val PLUGIN_NAME = "Java"
}
@ -57,6 +59,17 @@ class JavaPlugin @Inject constructor(val javaCompiler: JavaCompiler)
override fun testSourceDirectoriesFor(project: Project, context: KobaltContext)
= project.sourceDirectoriesTest.map { File(it) }.toList()
// IBuildConfigContributor
override fun affinity(project: Project): Int {
return if (project.projectExtra.suffixesFound.contains("java")) 1 else 0
}
override fun generateBuildConfig(project: Project, context: KobaltContext, packageName: String,
variant: Variant, buildConfigs: List<BuildConfig>): String {
return JavaProjectInfo().generateBuildConfig(project, context, packageName, variant, buildConfigs)
}
}
@Directive

View file

@ -24,8 +24,7 @@ public class JavaProject(
override var dependencies: Dependencies? = null,
@Directive
override var packaging: String? = null)
: Project(name, version, directory, buildDirectory, group, artifactId, packaging, dependencies,
".java", projectInfo = JavaProjectInfo()) {
: Project(name, version, directory, buildDirectory, group, artifactId, packaging, dependencies, ".java") {
override public fun toString() = toString("JavaProject", "name", name)
}

View file

@ -1,6 +1,7 @@
package com.beust.kobalt.plugin.kotlin
import com.beust.kobalt.TaskResult
import com.beust.kobalt.Variant
import com.beust.kobalt.api.*
import com.beust.kobalt.api.annotation.Directive
import com.beust.kobalt.internal.BaseJvmPlugin
@ -15,7 +16,8 @@ import javax.inject.Singleton
@Singleton
class KotlinPlugin @Inject constructor(val executors: KobaltExecutors)
: BaseJvmPlugin<KotlinConfig>(), IDocContributor, IClasspathContributor, ICompilerContributor {
: BaseJvmPlugin<KotlinConfig>(), IDocContributor, IClasspathContributor, ICompilerContributor,
IBuildConfigContributor {
companion object {
const val PLUGIN_NAME = "Kotlin"
@ -122,6 +124,15 @@ class KotlinPlugin @Inject constructor(val executors: KobaltExecutors)
log(2, "${project.name}: $s")
}
// IBuildConfigContributor
override fun affinity(project: Project): Int {
return if (project.projectExtra.suffixesFound.contains("kotlin")) 2 else 0
}
override fun generateBuildConfig(project: Project, context: KobaltContext, packageName: String,
variant: Variant, buildConfigs: List<BuildConfig>): String {
return KotlinProjectInfo().generateBuildConfig(project, context, packageName, variant, buildConfigs)
}
}
/**

View file

@ -24,8 +24,7 @@ public class KotlinProject(
override var dependencies: Dependencies? = null,
@Directive
override var packaging: String? = null)
: Project(name, version, directory, buildDirectory, group, artifactId, packaging, dependencies, ".kt",
projectInfo = KotlinProjectInfo()) {
: Project(name, version, directory, buildDirectory, group, artifactId, packaging, dependencies, ".kt") {
override public fun toString() = toString("KotlinProject", "name", name)
}