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

Make both kotlin and java test compile incremental.

This commit is contained in:
Cedric Beust 2016-01-02 10:29:49 -08:00
parent e7f844ab7f
commit b3107f52b5
3 changed files with 49 additions and 52 deletions

View file

@ -269,5 +269,22 @@ abstract class JvmCompilerPlugin @Inject constructor(
// ISourceDirectoryContributor
override fun sourceDirectoriesFor(project: Project, context: KobaltContext)
= if (accept(project)) sourceDirectories.toList() else arrayListOf()
@IncrementalTask(name = TASK_COMPILE_TEST, description = "Compile the tests",
runAfter = arrayOf(JvmCompilerPlugin.TASK_COMPILE))
fun taskCompileTest(project: Project): IncrementalTaskInfo {
val inputChecksum = Md5.toMd5Directories(project.sourceDirectoriesTest.map {
File(project.directory, it)
})
return IncrementalTaskInfo(
inputChecksum = inputChecksum,
outputChecksum = {
Md5.toMd5Directories(listOf(KFiles.makeOutputTestDir(project)))
},
task = { project -> doTaskCompileTest(project) }
)
}
abstract protected fun doTaskCompileTest(project: Project): TaskResult
}

View file

@ -3,7 +3,6 @@ package com.beust.kobalt.plugin.java
import com.beust.kobalt.TaskResult
import com.beust.kobalt.api.*
import com.beust.kobalt.api.annotation.Directive
import com.beust.kobalt.api.annotation.Task
import com.beust.kobalt.internal.JvmCompiler
import com.beust.kobalt.internal.JvmCompilerPlugin
import com.beust.kobalt.maven.DepFactory
@ -51,9 +50,7 @@ class JavaPlugin @Inject constructor(
return result
}
@Task(name = TASK_COMPILE_TEST, description = "Compile the tests",
runAfter = arrayOf(JvmCompilerPlugin.TASK_COMPILE))
fun taskCompileTest(project: Project): TaskResult {
override fun doTaskCompileTest(project: Project): TaskResult {
copyResources(project, JvmCompilerPlugin.SOURCE_SET_TEST)
val compilerActionInfo = createCompilerActionInfo(project, context, isTest = true)
val result = javaCompiler.compile(project, context, compilerActionInfo)

View file

@ -1,16 +1,13 @@
package com.beust.kobalt.plugin.kotlin
import com.beust.kobalt.IncrementalTaskInfo
import com.beust.kobalt.TaskResult
import com.beust.kobalt.api.*
import com.beust.kobalt.api.annotation.Directive
import com.beust.kobalt.api.annotation.IncrementalTask
import com.beust.kobalt.internal.JvmCompiler
import com.beust.kobalt.internal.JvmCompilerPlugin
import com.beust.kobalt.maven.DepFactory
import com.beust.kobalt.maven.DependencyManager
import com.beust.kobalt.maven.LocalRepo
import com.beust.kobalt.maven.Md5
import com.beust.kobalt.maven.dependency.FileDependency
import com.beust.kobalt.maven.dependency.MavenDependency
import com.beust.kobalt.misc.KFiles
@ -75,21 +72,7 @@ class KotlinPlugin @Inject constructor(
// return TaskResult(success)
// }
@IncrementalTask(name = TASK_COMPILE_TEST, description = "Compile the tests", runAfter = arrayOf(TASK_COMPILE))
fun taskCompileTest(project: Project): IncrementalTaskInfo {
val inputChecksum = Md5.toMd5Directories(project.sourceDirectoriesTest.map {
File(project.directory, it)
})
return IncrementalTaskInfo(
inputChecksum = inputChecksum,
outputChecksum = {
Md5.toMd5Directories(listOf(KFiles.makeOutputTestDir(project)))
},
task = { project -> doTaskCompileTest(project) }
)
}
private fun doTaskCompileTest(project: Project) : TaskResult {
override protected fun doTaskCompileTest(project: Project) : TaskResult {
copyResources(project, JvmCompilerPlugin.SOURCE_SET_TEST)
val projectDir = File(project.directory)