From 6389a27d644ed4be9160b6b7d68153640c33323c Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 24 Sep 2014 16:09:01 +0400 Subject: [PATCH] Fixed clearing incremental cache for removed source files. For writing system-dependent paths were used, for deleting were system-independent. That's why cache was not cleared on Windows. Original commit: 060796997e46749797e430c2379320d13a281d42 --- .../jps/build/KotlinSourceFileCollector.java | 20 ++++++++++++------- .../jps/incremental/IncrementalCacheImpl.kt | 6 +++--- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinSourceFileCollector.java b/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinSourceFileCollector.java index 402086b3e03..f9855199f63 100644 --- a/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinSourceFileCollector.java +++ b/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinSourceFileCollector.java @@ -64,16 +64,22 @@ public class KotlinSourceFileCollector { } @NotNull - public static List getRemovedKotlinFiles( + public static List getRemovedKotlinFiles( @NotNull DirtyFilesHolder dirtyFilesHolder, @NotNull ModuleBuildTarget target ) throws IOException { - return ContainerUtil.filter(dirtyFilesHolder.getRemovedFiles(target), new Condition() { - @Override - public boolean value(String s) { - return FileUtilRt.extensionEquals(s, "kt"); - } - }); + return ContainerUtil.map(ContainerUtil.filter(dirtyFilesHolder.getRemovedFiles(target), new Condition() { + @Override + public boolean value(String s) { + return FileUtilRt.extensionEquals(s, "kt"); + } + }), + new Function() { + @Override + public File fun(String s) { + return new File(s); + } + }); } @NotNull diff --git a/jps/jps-plugin/src/org/jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt b/jps/jps-plugin/src/org/jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt index 3981390a3f1..6579ab1d9f8 100644 --- a/jps/jps-plugin/src/org/jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt +++ b/jps/jps-plugin/src/org/jetbrains/jet/jps/incremental/IncrementalCacheImpl.kt @@ -96,7 +96,7 @@ public class IncrementalCacheImpl(val baseDir: File): StorageOwner, IncrementalC return DO_NOTHING } - public fun clearCacheForRemovedFiles(removedSourceFiles: Collection, outDirectory: File, compilationSuccessful: Boolean) { + public fun clearCacheForRemovedFiles(removedSourceFiles: Collection, outDirectory: File, compilationSuccessful: Boolean) { removedSourceFiles.forEach { packagePartMap.remove(it) } if (compilationSuccessful) { @@ -398,8 +398,8 @@ public class IncrementalCacheImpl(val baseDir: File): StorageOwner, IncrementalC map.put(sourceFile.getAbsolutePath(), className.getInternalName()) } - public fun remove(sourceFile: String) { - map.remove(sourceFile) + public fun remove(sourceFile: File) { + map.remove(sourceFile.getAbsolutePath()) } public fun getRemovedPackageParts(compiledSourceFilesToFqName: Map): Collection {