Allow providing specific kapt options.

^KT-45745 In Progress
This commit is contained in:
Yahor Berdnikau
2021-08-06 16:20:58 +02:00
parent 3d4186bdb1
commit 20afb268d1
@@ -43,7 +43,16 @@ abstract class KGPBaseTest {
val maxWorkers: Int = (Runtime.getRuntime().availableProcessors() / 4 - 1).coerceAtLeast(2),
val fileSystemWatchEnabled: Boolean = false,
val buildCacheEnabled: Boolean = false,
val kaptOptions: KaptOptions? = null
) {
data class KaptOptions(
val verbose: Boolean = false,
val useWorkers: Boolean = false,
val incrementalKapt: Boolean = false,
val includeCompileClasspath: Boolean = false,
val classLoadersCacheSize: Int? = null
)
fun toArguments(
gradleVersion: GradleVersion
): List<String> {
@@ -84,6 +93,16 @@ abstract class KGPBaseTest {
arguments.add(if (buildCacheEnabled) "--build-cache" else "--no-build-cache")
if (kaptOptions != null) {
arguments.add("-Pkapt.verbose=${kaptOptions.verbose}")
arguments.add("-Pkapt.use.worker.api=${kaptOptions.useWorkers}")
arguments.add("-Pkapt.incremental.apt=${kaptOptions.incrementalKapt}")
arguments.add("-Pkapt.include.compile.classpath=${kaptOptions.includeCompileClasspath}")
kaptOptions.classLoadersCacheSize?.let { cacheSize ->
arguments.add("-Pkapt.classloaders.cache.size=$cacheSize")
}
}
return arguments.toList()
}
}