From 563c878f204d7dc4a301547a4c86b803c4be9761 Mon Sep 17 00:00:00 2001 From: Evgenii Mazhukin Date: Tue, 28 Nov 2023 12:09:39 +0000 Subject: [PATCH] [KGP] Fix sharing build cache between Windows and Linux On Windows, path() uses backslash as a file separator, and Mac/Linux are using forward slashes. If friendPathsSet differs, remote build outputs from other platforms can't be reused. This patch uses invariant paths to address the issue. ^KT-63460 Fixed Merge-request: KT-MR-13261 Merged-by: Evgenii Mazhukin --- .../org/jetbrains/kotlin/gradle/tasks/AbstractKotlinCompile.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/AbstractKotlinCompile.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/AbstractKotlinCompile.kt index e3fd784fa2c..dce9b68db26 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/AbstractKotlinCompile.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/tasks/AbstractKotlinCompile.kt @@ -111,7 +111,7 @@ abstract class AbstractKotlinCompile @Inject constr val buildDirFile = projectLayout.buildDirectory.asFile.get() return friendPaths .filter { it.exists() } - .map { it.normalize().relativeTo(buildDirFile).path }.toSet() + .map { it.normalize().relativeTo(buildDirFile).invariantSeparatorsPath }.toSet() } @Deprecated("Scheduled for removal with Kotlin 2.0", ReplaceWith("moduleName"))