diff --git a/build-common/src/org/jetbrains/kotlin/incremental/storage/FileToPathConverter.kt b/build-common/src/org/jetbrains/kotlin/incremental/storage/FileToPathConverter.kt index 553b88dc31d..d238776a9e7 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/storage/FileToPathConverter.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/storage/FileToPathConverter.kt @@ -18,8 +18,8 @@ fun FileToPathConverter.toPaths(files: Collection): List = fun FileToPathConverter.toFiles(paths: Collection): List = paths.map { toFile(it) } -object FileToCanonicalPathConverter : FileToPathConverter { - override fun toPath(file: File): String = file.canonicalPath +object FileToAbsolutePathConverter : FileToPathConverter { + override fun toPath(file: File): String = file.normalize().absolutePath override fun toFile(path: String): File = File(path) } diff --git a/build-common/src/org/jetbrains/kotlin/incremental/storage/RelativeFileToPathConverter.kt b/build-common/src/org/jetbrains/kotlin/incremental/storage/RelativeFileToPathConverter.kt index dd16c7b7832..9cf3bcfed3a 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/storage/RelativeFileToPathConverter.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/storage/RelativeFileToPathConverter.kt @@ -8,10 +8,10 @@ package org.jetbrains.kotlin.incremental.storage import java.io.File open class RelativeFileToPathConverter(baseDirFile: File?) : FileToPathConverter { - private val baseDirPath = baseDirFile?.canonicalFile?.invariantSeparatorsPath + private val baseDirPath = baseDirFile?.normalize()?.invariantSeparatorsPath override fun toPath(file: File): String { - val path = file.canonicalFile.invariantSeparatorsPath + val path = file.normalize().invariantSeparatorsPath return when { baseDirPath != null && path.startsWith(baseDirPath) -> PROJECT_DIR_PLACEHOLDER + path.substring(baseDirPath.length) diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputer.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputer.kt index 7848d87fbca..32b1003c6ff 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputer.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputer.kt @@ -15,7 +15,7 @@ import org.jetbrains.kotlin.incremental.* import org.jetbrains.kotlin.incremental.classpathDiff.BreadthFirstSearch.findReachableNodes import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotShrinker.shrinkClasspath import org.jetbrains.kotlin.incremental.classpathDiff.ImpactedSymbolsComputer.computeImpactedSymbols -import org.jetbrains.kotlin.incremental.storage.FileToCanonicalPathConverter +import org.jetbrains.kotlin.incremental.storage.FileToAbsolutePathConverter import org.jetbrains.kotlin.incremental.storage.ListExternalizer import org.jetbrains.kotlin.incremental.storage.loadFromFile import org.jetbrains.kotlin.name.ClassId @@ -203,7 +203,7 @@ object ClasspathChangesComputer { ): ProgramSymbolSet { val workingDir = FileUtil.createTempDirectory(this::class.java.simpleName, "_WorkingDir_${UUID.randomUUID()}", /* deleteOnExit */ true) - val incrementalJvmCache = IncrementalJvmCache(workingDir, /* targetOutputDir */ null, FileToCanonicalPathConverter) + val incrementalJvmCache = IncrementalJvmCache(workingDir, /* targetOutputDir */ null, FileToAbsolutePathConverter) // Step 1: // - Add previous class snapshots to incrementalJvmCache.