From 92f07e6281753919ad50e732758212e9a936a6cf Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Mon, 8 Jun 2015 19:37:34 +0300 Subject: [PATCH] Path hash code is case-agnostic. This is to avoid changing it if e.g. path to project is reconfigured from C:\Work to c:\work Original commit: c48378260e5e586ada6bc14f1733f489421e4ec0 --- .../jps/build/IncrementalProjectPathCaseChangedTest.kt | 4 ++++ .../org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java | 5 +++-- .../custom/projectPathCaseChangedMultiFile/bar.kt | 2 ++ .../custom/projectPathCaseChangedMultiFile/build.log | 7 +++++++ .../custom/projectPathCaseChangedMultiFile/foo.kt | 2 ++ .../custom/projectPathCaseChangedMultiFile/foo.kt.new | 2 ++ 6 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/bar.kt create mode 100644 jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/build.log create mode 100644 jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/foo.kt create mode 100644 jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/foo.kt.new diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalProjectPathCaseChangedTest.kt b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalProjectPathCaseChangedTest.kt index 9a7d734a87e..27cb4449ec7 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalProjectPathCaseChangedTest.kt +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalProjectPathCaseChangedTest.kt @@ -24,6 +24,10 @@ public class IncrementalProjectPathCaseChangedTest : AbstractIncrementalJpsTest( doTest("jps-plugin/testData/incremental/custom/projectPathCaseChanged/") } + fun testProjectPathCaseChangedMultiFile() { + doTest("jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/") + } + override fun doTest(testDataPath: String) { if (SystemInfoRt.isFileSystemCaseSensitive) { return diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java index c2a386cc95f..b2e15a5f3bc 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java @@ -19,6 +19,7 @@ package org.jetbrains.kotlin.jps.build; import com.google.common.collect.Lists; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.io.FileUtilRt; import com.intellij.testFramework.LightVirtualFile; import com.intellij.util.ArrayUtil; import com.intellij.util.containers.ContainerUtil; @@ -614,8 +615,8 @@ public class KotlinJpsBuildTest extends AbstractKotlinJpsBuildTestCase { } private String packagePartClass(String moduleName, String fileName, String packageClassFqName) { - File file = new File(workDir, fileName); - LightVirtualFile fakeVirtualFile = new LightVirtualFile(file.getPath()) { + String path = FileUtilRt.toSystemIndependentName(new File(workDir, fileName).getAbsolutePath()); + LightVirtualFile fakeVirtualFile = new LightVirtualFile(path) { @NotNull @Override public String getPath() { diff --git a/jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/bar.kt b/jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/bar.kt new file mode 100644 index 00000000000..fe45df99555 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/bar.kt @@ -0,0 +1,2 @@ +fun bar() { +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/build.log b/jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/build.log new file mode 100644 index 00000000000..4cf233bbc00 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/build.log @@ -0,0 +1,7 @@ +Cleaning output files: +out/production/module/_DefaultPackage$foo$*.class +out/production/module/_DefaultPackage.class +End of files +Compiling files: +src/foo.kt +End of files \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/foo.kt b/jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/foo.kt new file mode 100644 index 00000000000..f23d7f69d2f --- /dev/null +++ b/jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/foo.kt @@ -0,0 +1,2 @@ +fun foo() { +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/foo.kt.new b/jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/foo.kt.new new file mode 100644 index 00000000000..f23d7f69d2f --- /dev/null +++ b/jps/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/foo.kt.new @@ -0,0 +1,2 @@ +fun foo() { +} \ No newline at end of file