diff --git a/build-common/src/org/jetbrains/kotlin/incremental/storage/IncrementalFileToPathConverter.kt b/build-common/src/org/jetbrains/kotlin/incremental/storage/IncrementalFileToPathConverter.kt index 0e4bf9b6277..8f4441bbf00 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/storage/IncrementalFileToPathConverter.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/storage/IncrementalFileToPathConverter.kt @@ -27,6 +27,7 @@ open class IncrementalFileToPathConverter(val rootProjectDir: File?) : FileToPat private companion object { private const val PROJECT_DIR_PLACEHOLDER = "${'$'}PROJECT_DIR$" + //use only for prefix length because it OS dependent private const val PATH_PREFIX = "$PROJECT_DIR_PLACEHOLDER/" } diff --git a/build-common/test/org/jetbrains/kotlin/incremental/storage/IncrementalFileToPathConverterTest.kt b/build-common/test/org/jetbrains/kotlin/incremental/storage/IncrementalFileToPathConverterTest.kt index b049077b810..cfe017e0426 100644 --- a/build-common/test/org/jetbrains/kotlin/incremental/storage/IncrementalFileToPathConverterTest.kt +++ b/build-common/test/org/jetbrains/kotlin/incremental/storage/IncrementalFileToPathConverterTest.kt @@ -10,45 +10,46 @@ import org.junit.Test import java.io.File internal class IncrementalFileToPathConverterTest : TestWithWorkingDir() { + val separator: String = File.separator @Test fun testPathTransform() { val relativeFilePath = "testFile.txt" val transformedPath = testPathTransformation(workingDir.resolve("testDir"), relativeFilePath) - assertEquals("${'$'}PROJECT_DIR${'$'}/$relativeFilePath", transformedPath) + assertEquals("${'$'}PROJECT_DIR${'$'}$separator$relativeFilePath", transformedPath) } @Test fun testComplicatedProjectRootPath() { val relativeFilePath = "testFile.txt" - val transformedPath = testPathTransformation(workingDir.resolve("first/../testDir"), relativeFilePath) + val transformedPath = testPathTransformation(workingDir.resolve("first$separator..${separator}testDir"), relativeFilePath) - assertEquals("${'$'}PROJECT_DIR${'$'}/$relativeFilePath", transformedPath) + assertEquals("${'$'}PROJECT_DIR${'$'}$separator$relativeFilePath", transformedPath) } @Test fun testInccorectProjectRootPath() { val relativeFilePath = "testFile.txt" - val transformedPath = testPathTransformation(workingDir.resolve("testDir/"), relativeFilePath) + val transformedPath = testPathTransformation(workingDir.resolve("testDir$separator"), relativeFilePath) - assertEquals("${'$'}PROJECT_DIR${'$'}/$relativeFilePath", transformedPath) + assertEquals("${'$'}PROJECT_DIR${'$'}$separator$relativeFilePath", transformedPath) } @Test fun testFileOutOfProject() { - val relativeFilePath = "../testFile.txt" + val relativeFilePath = "..${separator}testFile.txt" val transformedPath = testPathTransformation(workingDir.resolve("testDir"), relativeFilePath) - assertEquals("${workingDir.absolutePath}/testFile.txt", transformedPath) + assertEquals("${workingDir.absolutePath}${separator}testFile.txt", transformedPath) } @Test fun testFileWithExtraSlash() { - val relativeFilePath = "testFile.txt/" + val relativeFilePath = "testFile.txt$separator" val transformedPath = testPathTransformation(workingDir.resolve("testDir"), relativeFilePath) - assertEquals("${'$'}PROJECT_DIR${'$'}/testFile.txt", transformedPath) + assertEquals("${'$'}PROJECT_DIR${'$'}${separator}testFile.txt", transformedPath) } private fun testPathTransformation(projectRoot: File, relativeFilePath: String): String {