From fe87f41c39f76ee2abeaa864c2aa04f1b1698bbe Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Wed, 8 Nov 2023 11:18:37 +0100 Subject: [PATCH] [Gradle] Correct valueSourceProviderCompat * rename it to valueSourceWithExecProviderCompat * After Gradle 7.5 use provider.of ^KT-63044 --- .../gradle/targets/native/KotlinNativeTestRunFactories.kt | 4 ++-- .../org/jetbrains/kotlin/gradle/utils/compatibility.kt | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTestRunFactories.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTestRunFactories.kt index c7c19ca4f99..3e8c13feb9d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTestRunFactories.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTestRunFactories.kt @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.gradle.testing.internal.configureConventions import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry import org.jetbrains.kotlin.gradle.testing.testTaskName import org.jetbrains.kotlin.gradle.utils.XcodeUtils -import org.jetbrains.kotlin.gradle.utils.valueSourceProviderCompat +import org.jetbrains.kotlin.gradle.utils.valueSourceWithExecProviderCompat import org.jetbrains.kotlin.konan.target.HostManager import org.jetbrains.kotlin.konan.target.KonanTarget @@ -67,7 +67,7 @@ private inline fun KotlinNativeTarget.registerNat private fun KotlinNativeSimulatorTest.configureDeviceId(konanTarget: KonanTarget) { if (!isEnabled) return - val deviceIdProvider = project.valueSourceProviderCompat(XcodeDefaultTestDevicesValueSource::class.java) + val deviceIdProvider = project.valueSourceWithExecProviderCompat(XcodeDefaultTestDevicesValueSource::class.java) // Extract primitive values to avoid [target] capture in lambda val konanTargetFamily = konanTarget.family diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/compatibility.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/compatibility.kt index e2408ba9b50..98e0ef7c4ca 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/compatibility.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/compatibility.kt @@ -97,13 +97,13 @@ internal fun ArtifactCollection.getResolvedArtifactsCompat(project: Project): Pr } /** - * ValueSources are not well-supported with Configuration Cache in early Gradle versions - * Gradle 8.1 is discovered experimentally + * ValueSources with injected ExecOperations are supported with Configuration Cache in Gradle 7.5+ + * https://docs.gradle.org/7.5/release-notes.html#running-external-processes-at-configuration-time */ -internal fun Project.valueSourceProviderCompat( +internal fun Project.valueSourceWithExecProviderCompat( clazz: Class> ): Provider { - return if (GradleVersion.current() < GradleVersion.version("8.1")) { + return if (GradleVersion.current() < GradleVersion.version("7.5")) { val vs = project.objects.newInstance(clazz) project.provider { vs.obtain() } } else {