mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-27 00:38:11 -07:00
Make both kotlin and java test compile incremental.
This commit is contained in:
parent
e7f844ab7f
commit
b3107f52b5
3 changed files with 49 additions and 52 deletions
|
@ -269,5 +269,22 @@ abstract class JvmCompilerPlugin @Inject constructor(
|
||||||
// ISourceDirectoryContributor
|
// ISourceDirectoryContributor
|
||||||
override fun sourceDirectoriesFor(project: Project, context: KobaltContext)
|
override fun sourceDirectoriesFor(project: Project, context: KobaltContext)
|
||||||
= if (accept(project)) sourceDirectories.toList() else arrayListOf()
|
= 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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@ package com.beust.kobalt.plugin.java
|
||||||
import com.beust.kobalt.TaskResult
|
import com.beust.kobalt.TaskResult
|
||||||
import com.beust.kobalt.api.*
|
import com.beust.kobalt.api.*
|
||||||
import com.beust.kobalt.api.annotation.Directive
|
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.JvmCompiler
|
||||||
import com.beust.kobalt.internal.JvmCompilerPlugin
|
import com.beust.kobalt.internal.JvmCompilerPlugin
|
||||||
import com.beust.kobalt.maven.DepFactory
|
import com.beust.kobalt.maven.DepFactory
|
||||||
|
@ -51,9 +50,7 @@ class JavaPlugin @Inject constructor(
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
@Task(name = TASK_COMPILE_TEST, description = "Compile the tests",
|
override fun doTaskCompileTest(project: Project): TaskResult {
|
||||||
runAfter = arrayOf(JvmCompilerPlugin.TASK_COMPILE))
|
|
||||||
fun taskCompileTest(project: Project): TaskResult {
|
|
||||||
copyResources(project, JvmCompilerPlugin.SOURCE_SET_TEST)
|
copyResources(project, JvmCompilerPlugin.SOURCE_SET_TEST)
|
||||||
val compilerActionInfo = createCompilerActionInfo(project, context, isTest = true)
|
val compilerActionInfo = createCompilerActionInfo(project, context, isTest = true)
|
||||||
val result = javaCompiler.compile(project, context, compilerActionInfo)
|
val result = javaCompiler.compile(project, context, compilerActionInfo)
|
||||||
|
|
|
@ -1,16 +1,13 @@
|
||||||
package com.beust.kobalt.plugin.kotlin
|
package com.beust.kobalt.plugin.kotlin
|
||||||
|
|
||||||
import com.beust.kobalt.IncrementalTaskInfo
|
|
||||||
import com.beust.kobalt.TaskResult
|
import com.beust.kobalt.TaskResult
|
||||||
import com.beust.kobalt.api.*
|
import com.beust.kobalt.api.*
|
||||||
import com.beust.kobalt.api.annotation.Directive
|
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.JvmCompiler
|
||||||
import com.beust.kobalt.internal.JvmCompilerPlugin
|
import com.beust.kobalt.internal.JvmCompilerPlugin
|
||||||
import com.beust.kobalt.maven.DepFactory
|
import com.beust.kobalt.maven.DepFactory
|
||||||
import com.beust.kobalt.maven.DependencyManager
|
import com.beust.kobalt.maven.DependencyManager
|
||||||
import com.beust.kobalt.maven.LocalRepo
|
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.FileDependency
|
||||||
import com.beust.kobalt.maven.dependency.MavenDependency
|
import com.beust.kobalt.maven.dependency.MavenDependency
|
||||||
import com.beust.kobalt.misc.KFiles
|
import com.beust.kobalt.misc.KFiles
|
||||||
|
@ -75,21 +72,7 @@ class KotlinPlugin @Inject constructor(
|
||||||
// return TaskResult(success)
|
// return TaskResult(success)
|
||||||
// }
|
// }
|
||||||
|
|
||||||
@IncrementalTask(name = TASK_COMPILE_TEST, description = "Compile the tests", runAfter = arrayOf(TASK_COMPILE))
|
override protected fun doTaskCompileTest(project: Project) : TaskResult {
|
||||||
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 {
|
|
||||||
copyResources(project, JvmCompilerPlugin.SOURCE_SET_TEST)
|
copyResources(project, JvmCompilerPlugin.SOURCE_SET_TEST)
|
||||||
val projectDir = File(project.directory)
|
val projectDir = File(project.directory)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue