From 3c78c94fb1d77aa0c44327ed75b5773995856bd8 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Wed, 24 Mar 2021 17:40:34 +0100 Subject: [PATCH] Add configuration cache support to the default build options. ^KT-45744 In Progress --- .../kotlin/gradle/testbase/KGPBaseTest.kt | 14 ++++++++++++-- .../jetbrains/kotlin/gradle/testbase/testDsl.kt | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/KGPBaseTest.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/KGPBaseTest.kt index 92d117ace9b..a8ff41a7b64 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/KGPBaseTest.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/KGPBaseTest.kt @@ -9,6 +9,7 @@ import org.gradle.api.logging.LogLevel import org.gradle.api.logging.configuration.WarningMode import org.gradle.internal.impldep.org.junit.platform.commons.support.AnnotationSupport.findAnnotation import org.gradle.util.GradleVersion +import org.jetbrains.kotlin.gradle.BaseGradleIT import org.jetbrains.kotlin.gradle.KOTLIN_VERSION import org.jetbrains.kotlin.gradle.utils.minSupportedGradleVersion import org.jetbrains.kotlin.test.WithMuteInDatabase @@ -39,9 +40,13 @@ abstract class KGPBaseTest { data class BuildOptions( val logLevel: LogLevel = LogLevel.INFO, val kotlinVersion: String = KOTLIN_VERSION, - val warningMode: WarningMode = WarningMode.Fail + val warningMode: WarningMode = WarningMode.Fail, + val configurationCache: Boolean = false, + val configurationCacheProblems: BaseGradleIT.ConfigurationCacheProblems = BaseGradleIT.ConfigurationCacheProblems.FAIL ) { - fun toArguments(): List { + fun toArguments( + gradleVersion: GradleVersion + ): List { val arguments = mutableListOf() when (logLevel) { LogLevel.DEBUG -> arguments.add("--debug") @@ -58,6 +63,11 @@ abstract class KGPBaseTest { WarningMode.None -> arguments.add("--warning-mode=none") } + if (gradleVersion >= GradleVersion.version("6.6.0")) { + arguments.add("-Dorg.gradle.unsafe.configuration-cache=$configurationCache") + arguments.add("-Dorg.gradle.unsafe.configuration-cache-problems=${configurationCacheProblems.name.toLowerCase()}") + } + return arguments.toList() } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt index 125312fc7cb..22737287071 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt @@ -94,7 +94,7 @@ class TestProject( private fun TestProject.commonBuildSetup( buildArguments: List ): List { - val buildOptionsArguments = buildOptions.toArguments() + val buildOptionsArguments = buildOptions.toArguments(gradleVersion) val allBuildArguments = buildOptionsArguments + buildArguments + "--full-stacktrace" println("<=== Test build: ${this.projectName} ===>")