[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.
This commit is contained in:
+5
-3
@@ -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<String>
|
||||
) {
|
||||
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")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user