From 5234017ef600dc62ead22949495f95a0fa8db79a Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 14 Mar 2012 14:52:49 +0400 Subject: [PATCH] artifact builder for compile server: don't try to copy deleted files --- .../incremental/artifacts/IncArtifactBuilder.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java index c7b4a6d7563f..2537bc7c6057 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/artifacts/IncArtifactBuilder.java @@ -93,7 +93,7 @@ public class IncArtifactBuilder extends ProjectLevelBuilder { final List sources = outSrcMapping.getState(outputPath); if (sources != null) { for (ArtifactOutputToSourceMapping.SourcePathAndRootIndex source : sources) { - addFileToProcess(filesToProcess, source.getRootIndex(), source.getPath()); + addFileToProcess(filesToProcess, source.getRootIndex(), source.getPath(), deletedFiles); } } } @@ -105,7 +105,7 @@ public class IncArtifactBuilder extends ProjectLevelBuilder { final IntArrayList roots = entry.getValue(); final String sourcePath = entry.getKey(); for (int i = 0; i < roots.size(); i++) { - addFileToProcess(filesToProcess, roots.get(i), sourcePath); + addFileToProcess(filesToProcess, roots.get(i), sourcePath, deletedFiles); } final List outputPaths = srcOutMapping.getState(sourcePath); if (outputPaths != null) { @@ -114,7 +114,7 @@ public class IncArtifactBuilder extends ProjectLevelBuilder { final List sources = outSrcMapping.getState(outputPath); if (sources != null) { for (ArtifactOutputToSourceMapping.SourcePathAndRootIndex source : sources) { - addFileToProcess(filesToProcess, source.getRootIndex(), source.getPath()); + addFileToProcess(filesToProcess, source.getRootIndex(), source.getPath(), deletedFiles); } } } @@ -168,7 +168,13 @@ public class IncArtifactBuilder extends ProjectLevelBuilder { } } - private static void addFileToProcess(TIntObjectHashMap> filesToProcess, final int rootIndex, final String path) { + private static void addFileToProcess(TIntObjectHashMap> filesToProcess, + final int rootIndex, + final String path, + Set deletedFiles) { + if (deletedFiles.contains(path)) { + return; + } Set paths = filesToProcess.get(rootIndex); if (paths == null) { paths = new THashSet();