diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt index cb41d297efa..26ee2e22d1b 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt @@ -241,6 +241,7 @@ abstract class BaseGradleIT { val kotlinVersion: String = KOTLIN_VERSION, val kotlinDaemonDebugPort: Int? = null, val usePreciseJavaTracking: Boolean? = null, + val useClasspathSnapshot: Boolean? = null, val withBuildCache: Boolean = false, val kaptOptions: KaptOptions? = null, val parallelTasksInProject: Boolean = false, @@ -913,6 +914,7 @@ Finished executing task ':$taskName'| options.incrementalJsKlib?.let { add("-Pkotlin.incremental.js.klib=$it") } options.jsIrBackend?.let { add("-Pkotlin.js.useIrBackend=$it") } options.usePreciseJavaTracking?.let { add("-Pkotlin.incremental.usePreciseJavaTracking=$it") } + options.useClasspathSnapshot?.let { add("-Pkotlin.incremental.useClasspathSnapshot=$it") } options.androidGradlePluginVersion?.let { add("-Pandroid_tools_version=$it") } if (options.debug) { add("-Dorg.gradle.debug=true") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalCompilationBaseIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalCompilationBaseIT.kt index 883c602d1fa..7c3830b75ca 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalCompilationBaseIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalCompilationBaseIT.kt @@ -13,6 +13,8 @@ abstract class IncrementalCompilationBaseIT : BaseGradleIT() { protected abstract fun defaultProject(): Project + override fun defaultBuildOptions() = super.defaultBuildOptions().copy(incremental = true) + protected fun doTest( fileToModify: String, modifyFileContents: (String) -> String, 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 65cf347523c..f5519f2997c 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 @@ -145,9 +145,11 @@ class IncrementalCompilationFirJvmMultiProjectIT : IncrementalCompilationJvmMult } } +class IncrementalCompilationClasspathSnapshotJvmMultiProjectIT : IncrementalCompilationJvmMultiProjectIT() { + override fun defaultBuildOptions() = super.defaultBuildOptions().copy(useClasspathSnapshot = true) +} + abstract class BaseIncrementalCompilationMultiProjectIT : IncrementalCompilationBaseIT() { - override fun defaultBuildOptions(): BuildOptions = - super.defaultBuildOptions().copy(withDaemon = true, incremental = true) @Test fun testAbiChangeInLib_changeMethodSignature() { 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 745f7e0aec7..acbc2f73769 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 @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.gradle import org.junit.Test -class IncrementalJavaChangeDefaultIT : IncrementalCompilationJavaChangesBase(usePreciseJavaTracking = null) { +open class IncrementalJavaChangeDefaultIT : IncrementalCompilationJavaChangesBase(usePreciseJavaTracking = null) { @Test override fun testAbiChangeInLib_changeMethodSignature_tracked() { doTest(trackedJavaClass, changeSignature, expectedAffectedFileNames = listOf("TrackedJavaClassChild.kt", "useTrackedJavaClass.kt")) @@ -19,6 +19,10 @@ class IncrementalJavaChangeDefaultIT : IncrementalCompilationJavaChangesBase(use } } +class IncrementalJavaChangeClasspathSnapshotIT : IncrementalJavaChangeDefaultIT() { + override fun defaultBuildOptions() = super.defaultBuildOptions().copy(useClasspathSnapshot = true) +} + class IncrementalJavaChangePreciseIT : IncrementalCompilationJavaChangesBase(usePreciseJavaTracking = true) { @Test override fun testAbiChangeInLib_changeMethodSignature_tracked() { @@ -63,9 +67,7 @@ class IncrementalFirJavaChangeDisablePreciseIT : IncrementalJavaChangeDisablePre abstract class IncrementalCompilationJavaChangesBase(val usePreciseJavaTracking: Boolean?) : IncrementalCompilationBaseIT() { override fun defaultProject() = Project("incrementalMultiproject") - - override fun defaultBuildOptions(): BuildOptions = - super.defaultBuildOptions().copy(withDaemon = true, incremental = true, usePreciseJavaTracking = usePreciseJavaTracking) + override fun defaultBuildOptions() = super.defaultBuildOptions().copy(usePreciseJavaTracking = usePreciseJavaTracking) protected val trackedJavaClass = "TrackedJavaClass.java" private val javaClass = "JavaClass.java"