diff --git a/java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java b/java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java index 7b22d47ba2e0..35f0c70eada4 100644 --- a/java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java +++ b/java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java @@ -2373,10 +2373,14 @@ public class CompileDriver { } if (checkOutputAndSourceIntersection && myShouldClearOutputDirectory) { + CompilerPathsEx.CLEAR_ALL_OUTPUTS_KEY.set(scope, true); if (!validateOutputAndSourcePathsIntersection()) { return false; } } + else { + CompilerPathsEx.CLEAR_ALL_OUTPUTS_KEY.set(scope, false); + } final List> chunks = ModuleCompilerUtil.getSortedModuleChunks(myProject, Arrays.asList(scopeModules)); for (final Chunk chunk : chunks) { final Set chunkModules = chunk.getNodes(); diff --git a/java/compiler/openapi/src/com/intellij/openapi/compiler/ex/CompilerPathsEx.java b/java/compiler/openapi/src/com/intellij/openapi/compiler/ex/CompilerPathsEx.java index 963635775c68..b92d0ffd63f9 100644 --- a/java/compiler/openapi/src/com/intellij/openapi/compiler/ex/CompilerPathsEx.java +++ b/java/compiler/openapi/src/com/intellij/openapi/compiler/ex/CompilerPathsEx.java @@ -21,6 +21,7 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.CompilerModuleExtension; +import com.intellij.openapi.util.Key; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileManager; @@ -34,6 +35,7 @@ import java.util.Collection; import java.util.Set; public class CompilerPathsEx extends CompilerPaths { + public static final Key CLEAR_ALL_OUTPUTS_KEY = Key.create("_should_clear_all_outputs_"); public static File getZippedOutputPath(Project project, String outputDirectoryPath) { final File outputDir = new File(outputDirectoryPath);