diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CommonizerIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CommonizerIT.kt index 524673652b4..4a05d217913 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CommonizerIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CommonizerIT.kt @@ -675,6 +675,29 @@ class CommonizerIT : BaseGradleIT() { } } + @Test + fun `test cinterop caching`() { + with(preparedProject("commonizeCurlInterop")) { + val localBuildCacheDir = projectDir.resolve("local-build-cache-dir").also { assertTrue(it.mkdirs()) } + gradleSettingsScript().appendText(""" + + buildCache { + local { + directory = "$localBuildCacheDir" + } + } + """.trimIndent() + ) + build(":commonize", options = defaultBuildOptions().copy(withBuildCache = true)) { + assertTasksExecuted(":cinteropCurlTargetA", ":cinteropCurlTargetB") + } + build(":clean") {} + build(":commonize", options = defaultBuildOptions().copy(withBuildCache = true)) { + assertTasksRetrievedFromCache(":cinteropCurlTargetA", ":cinteropCurlTargetB") + } + } + } + private fun preparedProject(name: String): Project { return Project(name).apply { setupWorkingDir() diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt index 784cf077647..aee31a19e9b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt @@ -1094,10 +1094,6 @@ open class CInteropProcess @Inject constructor(@get:Internal val settings: Defau val outputFile: File get() = outputFileProvider.get() - init { - outputs.upToDateWhen { outputFile.exists() } - } - // Inputs and outputs. @OutputFile