From ebe75444646d0c43ea514495128bbd3e8abaeca8 Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Wed, 8 Jun 2022 10:00:03 +0200 Subject: [PATCH] [Gradle] Make evaluation of rootCacheDirectory lazy in Native task It was broken due to 91779c298e5a819345a09c5bc9cca1b7c4a18797 And this change makes it behave as it was before adding support for Configuration Cache. --- .../gradle/targets/native/tasks/KotlinNativeTasks.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 9c8a8263f6c..5058c9731cf 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 @@ -875,13 +875,15 @@ internal class CacheBuilder( val runnerSettings: KotlinNativeCompilerRunner.Settings, val konanCacheKind: NativeCacheKind, val libraries: FileCollection, - val rootCacheDirectory: File, + rootCacheDirectoryProvider: () -> File, val gradleUserHomeDir: File, val binary: NativeBinary, val konanTarget: KonanTarget, val kotlinOptions: KotlinCommonToolOptions, val externalDependenciesArgs: List ) { + val rootCacheDirectory by lazy(rootCacheDirectoryProvider) + companion object { operator fun invoke( project: Project, @@ -895,7 +897,7 @@ internal class CacheBuilder( runnerSettings = KotlinNativeCompilerRunner.Settings(project), konanCacheKind = konanCacheKind, libraries = binary.compilation.compileDependencyFiles.filterOutPublishableInteropLibs(project), - rootCacheDirectory = getRootCacheDirectory(File(project.konanHome), konanTarget, binary.debuggable, konanCacheKind), + rootCacheDirectoryProvider = { getRootCacheDirectory(File(project.konanHome), konanTarget, binary.debuggable, konanCacheKind) }, gradleUserHomeDir = project.gradle.gradleUserHomeDir, binary, konanTarget, kotlinOptions, externalDependenciesArgs ) @@ -1105,7 +1107,7 @@ internal class CacheBuilder( companion object { internal fun getRootCacheDirectory(konanHome: File, target: KonanTarget, debuggable: Boolean, cacheKind: NativeCacheKind): File { - require(cacheKind != NativeCacheKind.NONE) { "Usupported cache kind: ${NativeCacheKind.NONE}" } + require(cacheKind != NativeCacheKind.NONE) { "Unsupported cache kind: ${NativeCacheKind.NONE}" } val optionsAwareCacheName = "$target${if (debuggable) "-g" else ""}$cacheKind" return konanHome.resolve("klib/cache/$optionsAwareCacheName") }