flush persistent maps after each module chunk
authorEugene Zhuravlev <jeka@intellij.com>
Sat, 28 Jan 2012 14:56:52 +0000 (15:56 +0100)
committerEugene Zhuravlev <jeka@intellij.com>
Sat, 28 Jan 2012 14:59:14 +0000 (15:59 +0100)
jps/jps-builders/src/org/jetbrains/jps/incremental/CompileContext.java
jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java

index 7a89f170c5a2d1094ebe46cb037f1dc56ff879f1..bdf35b13e838f8bb0fa41b29304cd8eeb7d0c9db 100644 (file)
@@ -170,7 +170,9 @@ public class CompileContext extends UserDataHolderBase implements MessageHandler
   }
 
   void onChunkBuildComplete(@NotNull ModuleChunk chunk) throws Exception {
-    myDataManager.getMappings().clearMemoryCaches();
+    final Mappings mappings = myDataManager.getMappings();
+    mappings.clearMemoryCaches();
+    myDataManager.flush();
 
     try {
       if (!myErrorsFound && !myCancelStatus.isCanceled()) {
index bd74b495743ff7d93f160564777382dbb833cea0..21fcda8832f1c7276f780793756e9562ef70dc78 100644 (file)
@@ -284,10 +284,8 @@ public class JavaBuilder extends ModuleLevelBuilder {
     if (exitCode != ExitCode.ADDITIONAL_PASS_REQUIRED) {
       final Set<File> tempRoots = TEMPORARY_SOURCE_ROOTS_KEY.get(context);
       TEMPORARY_SOURCE_ROOTS_KEY.set(context, null);
-      if (tempRoots != null) {
-        for (File root : tempRoots) {
-          FileUtil.delete(root);
-        }
+      if (tempRoots != null && tempRoots.size() > 0) {
+        FileUtil.asyncDelete(tempRoots);
       }
     }
     return exitCode;