From a02881d6ef8ee94b62e9da61c575d9f4e2a10d1c Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 25 Aug 2010 16:56:55 +0400 Subject: [PATCH] fixed updating resource in running app server when more than one artifact is changed --- .../impl/compiler/ArtifactsCompiler.java | 15 +++++++++++++++ .../impl/compiler/ArtifactsCompilerInstance.java | 6 +++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/compiler/ArtifactsCompiler.java b/java/compiler/impl/src/com/intellij/packaging/impl/compiler/ArtifactsCompiler.java index d587da92afe0..37afd687c97d 100644 --- a/java/compiler/impl/src/com/intellij/packaging/impl/compiler/ArtifactsCompiler.java +++ b/java/compiler/impl/src/com/intellij/packaging/impl/compiler/ArtifactsCompiler.java @@ -23,6 +23,7 @@ import com.intellij.openapi.util.Key; import com.intellij.packaging.artifacts.Artifact; import com.intellij.util.io.DataExternalizer; import com.intellij.util.io.KeyDescriptor; +import gnu.trove.THashSet; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -45,6 +46,19 @@ public class ArtifactsCompiler extends GenericCompiler artifacts) { + context.putUserData(AFFECTED_ARTIFACTS, artifacts); + } + + static void addWrittenPaths(final CompileContext context, Set writtenPaths) { + Set paths = context.getUserData(WRITTEN_PATHS_KEY); + if (paths == null) { + paths = new THashSet(); + context.putUserData(WRITTEN_PATHS_KEY, paths); + } + paths.addAll(writtenPaths); + } + @NotNull @Override public KeyDescriptor getItemKeyDescriptor() { @@ -75,6 +89,7 @@ public class ArtifactsCompiler extends GenericCompiler getAffectedArtifacts(final CompileContext compileContext) { return compileContext.getUserData(AFFECTED_ARTIFACTS); } diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/compiler/ArtifactsCompilerInstance.java b/java/compiler/impl/src/com/intellij/packaging/impl/compiler/ArtifactsCompilerInstance.java index acf03b898c3f..89baaa3e2548 100644 --- a/java/compiler/impl/src/com/intellij/packaging/impl/compiler/ArtifactsCompilerInstance.java +++ b/java/compiler/impl/src/com/intellij/packaging/impl/compiler/ArtifactsCompilerInstance.java @@ -112,7 +112,7 @@ public class ArtifactsCompilerInstance extends GenericCompilerInstance artifacts = myContext.getUserData(ArtifactsCompiler.AFFECTED_ARTIFACTS); + final Set artifacts = ArtifactsCompiler.getAffectedArtifacts(myContext); if (artifacts != null) { for (Artifact artifact : artifacts) { for (ArtifactPropertiesProvider provider : artifact.getPropertiesProviders()) { @@ -335,7 +335,7 @@ public class ArtifactsCompilerInstance extends GenericCompilerInstance deleteFiles(List> obsoleteItems,