From ae75736864df1af567ea0441884e62ae841afa71 Mon Sep 17 00:00:00 2001 From: "Alexander.Likhachev" Date: Mon, 30 Jan 2023 21:51:49 +0100 Subject: [PATCH] [Gradle] Enable in-memory wrappers for the precise outputs backup tests #KT-56052 In Progress --- .../jetbrains/kotlin/gradle/CompilerPluginsIncrementalIT.kt | 2 +- .../kotlin/gradle/IncrementalCompilationMultiProjectIT.kt | 6 +++--- .../org/jetbrains/kotlin/gradle/IncrementalJavaChangeIT.kt | 2 +- .../kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalIT.kt | 2 +- .../kotlin/gradle/KaptIncrementalWithAggregatingApt.kt | 2 +- .../kotlin/gradle/KaptIncrementalWithIsolatingApt.kt | 2 +- .../kotlin/gradle/android/Kapt3AndroidIncrementalIT.kt | 2 +- .../kotlin/gradle/android/KotlinAndroidIncrementalIT.kt | 2 +- .../org/jetbrains/kotlin/gradle/testbase/BuildOptions.kt | 5 +++++ 9 files changed, 15 insertions(+), 10 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CompilerPluginsIncrementalIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CompilerPluginsIncrementalIT.kt index fd57320c936..2ce966029a4 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CompilerPluginsIncrementalIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CompilerPluginsIncrementalIT.kt @@ -71,5 +71,5 @@ open class CompilerPluginsIncrementalIT : KGPBaseTest() { @DisplayName("Compiler plugin incremental compilation with precise compilation outputs backup") class CompilerPluginsIncrementalWithPreciseBackupIT : CompilerPluginsIncrementalIT() { - override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true) + override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true) } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalCompilationMultiProjectIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalCompilationMultiProjectIT.kt index 5771083a8f9..4ff4a526811 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalCompilationMultiProjectIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalCompilationMultiProjectIT.kt @@ -138,7 +138,7 @@ open class IncrementalCompilationJsMultiProjectIT : BaseIncrementalCompilationMu } class IncrementalCompilationJsMultiProjectWithPreciseBackupIT : IncrementalCompilationJsMultiProjectIT() { - override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true) + override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true) } @JvmGradlePluginTests @@ -299,7 +299,7 @@ open class IncrementalCompilationJvmMultiProjectIT : BaseIncrementalCompilationM } class IncrementalCompilationJvmMultiProjectWithPreciseBackupIT : IncrementalCompilationJvmMultiProjectIT() { - override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true) + override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true) } class IncrementalCompilationFirJvmMultiProjectIT : IncrementalCompilationJvmMultiProjectIT() { @@ -440,7 +440,7 @@ open class IncrementalCompilationOldICJvmMultiProjectIT : IncrementalCompilation } class IncrementalCompilationOldICJvmMultiProjectWithPreciseBackupIT : IncrementalCompilationOldICJvmMultiProjectIT() { - override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true) + override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true) } abstract class BaseIncrementalCompilationMultiProjectIT : IncrementalCompilationBaseIT() { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalJavaChangeIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalJavaChangeIT.kt index 2d592fd3417..83bb2644168 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalJavaChangeIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalJavaChangeIT.kt @@ -93,7 +93,7 @@ open class IncrementalJavaChangeDefaultIT : IncrementalCompilationJavaChangesBas @DisplayName("Default incremental compilation with precise compilation outputs backup") open class IncrementalJavaChangePreciseCompilationBackupIT : IncrementalJavaChangeDefaultIT() { - override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true) + override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true) } @DisplayName("Incremental compilation via classpath snapshots with default precise java tracking") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalIT.kt index 5e297bc569d..178bc963499 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalIT.kt @@ -391,5 +391,5 @@ open class KaptIncrementalIT : KGPBaseTest() { @DisplayName("Kapt incremental compilation with precise compilation outputs backup") class KaptIncrementalWithPreciseBackupIT : KaptIncrementalIT() { - override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true) + override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true) } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalWithAggregatingApt.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalWithAggregatingApt.kt index 9e00e2dde62..69759e5856e 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalWithAggregatingApt.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalWithAggregatingApt.kt @@ -392,5 +392,5 @@ open class KaptIncrementalWithAggregatingApt : KaptIncrementalIT() { @DisplayName("Kapt incremental tests with aggregating apt with precise compilation outputs backup") class KaptIncrementalWithAggregatingAptAndPreciseBackup : KaptIncrementalWithAggregatingApt() { - override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true) + override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true) } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalWithIsolatingApt.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalWithIsolatingApt.kt index 309e1550e28..7dee3bb0e9d 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalWithIsolatingApt.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalWithIsolatingApt.kt @@ -431,7 +431,7 @@ open class KaptIncrementalWithIsolatingApt : KaptIncrementalIT() { @DisplayName("Kapt incremental tests with isolating apt with precise compilation outputs backup") class KaptIncrementalWithIsolatingAptAndPreciseBackup : KaptIncrementalWithIsolatingApt() { - override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true) + override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true) } private const val patternApt = "Processing java sources with annotation processors:" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/Kapt3AndroidIncrementalIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/Kapt3AndroidIncrementalIT.kt index bb22a7b6a5e..ef9f4ac141d 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/Kapt3AndroidIncrementalIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/Kapt3AndroidIncrementalIT.kt @@ -206,5 +206,5 @@ open class Kapt3AndroidIncrementalIT : Kapt3BaseIT() { @DisplayName("android with kapt3 incremental build tests with precise compilation outputs backup") class Kapt3AndroidIncrementalWithPreciseBackupIT : Kapt3AndroidIncrementalIT() { - override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true) + override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true) } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidIncrementalIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidIncrementalIT.kt index 12dcb6cc485..5beaa117efb 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidIncrementalIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidIncrementalIT.kt @@ -180,5 +180,5 @@ open class KotlinAndroidIncrementalIT : KGPBaseTest() { } class KotlinAndroidIncrementalWithPreciseBackupIT : KotlinAndroidIncrementalIT() { - override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true) + override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true) } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/BuildOptions.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/BuildOptions.kt index bd646e6dc35..d08d0c37248 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/BuildOptions.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/BuildOptions.kt @@ -40,6 +40,7 @@ data class BuildOptions( val freeArgs: List = emptyList(), val statisticsForceValidation: Boolean = true, val usePreciseOutputsBackup: Boolean? = null, + val keepIncrementalCompilationCachesInMemory: Boolean? = null, ) { val safeAndroidVersion: String get() = androidVersion ?: error("AGP version is expected to be set") @@ -159,6 +160,10 @@ data class BuildOptions( arguments.add("-Pkotlin.compiler.preciseCompilationResultsBackup=$usePreciseOutputsBackup") } + if (keepIncrementalCompilationCachesInMemory != null) { + arguments.add("-Pkotlin.compiler.keepIncrementalCompilationCachesInMemory=$keepIncrementalCompilationCachesInMemory") + } + arguments.addAll(freeArgs) return arguments.toList()