diff --git a/plugins/jps-cache/resources/META-INF/plugin.xml b/plugins/jps-cache/resources/META-INF/plugin.xml
index 2548d4831827..ea190f1cd297 100644
--- a/plugins/jps-cache/resources/META-INF/plugin.xml
+++ b/plugins/jps-cache/resources/META-INF/plugin.xml
@@ -38,7 +38,7 @@
-
+
diff --git a/plugins/jps-cache/src/com/intellij/jps/cache/loader/JpsOutputLoaderManager.java b/plugins/jps-cache/src/com/intellij/jps/cache/loader/JpsOutputLoaderManager.java
index 6bc6d9fa866e..2b446499e736 100644
--- a/plugins/jps-cache/src/com/intellij/jps/cache/loader/JpsOutputLoaderManager.java
+++ b/plugins/jps-cache/src/com/intellij/jps/cache/loader/JpsOutputLoaderManager.java
@@ -37,6 +37,7 @@ import org.jetbrains.jps.model.serialization.JpsLoaderBase;
import org.jetbrains.jps.model.serialization.PathMacroUtil;
import org.jetbrains.jps.util.JpsPathUtil;
+import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*;
@@ -90,7 +91,15 @@ public class JpsOutputLoaderManager implements Disposable {
Pair commitInfo = getNearestCommit(isForceUpdate);
if (commitInfo != null) {
// Drop JPS metadata to force plugin for downloading all compilation outputs
- if (isForceUpdate) myMetadataLoader.dropCurrentProjectMetadata();
+ if (isForceUpdate) {
+ myMetadataLoader.dropCurrentProjectMetadata();
+ File outDir = new File(myBuildOutDir);
+ if (outDir.exists()) {
+ indicator.setText("Clean output directories");
+ FileUtil.delete(outDir);
+ }
+ LOG.info("Compilation output folder empty");
+ }
startLoadingForCommit(commitInfo.first);
}
hasRunningTask.set(false);