diff --git a/plugins/maven/maven-server-api/src/org/jetbrains/idea/maven/model/MavenWorkspaceMap.java b/plugins/maven/maven-server-api/src/org/jetbrains/idea/maven/model/MavenWorkspaceMap.java index 6782305e47ee..68c8770e3c5c 100644 --- a/plugins/maven/maven-server-api/src/org/jetbrains/idea/maven/model/MavenWorkspaceMap.java +++ b/plugins/maven/maven-server-api/src/org/jetbrains/idea/maven/model/MavenWorkspaceMap.java @@ -29,8 +29,12 @@ public class MavenWorkspaceMap implements Serializable { private final THashMap myMapping = new THashMap(); public void register(@NotNull MavenId id, @NotNull File file) { + register(id, file, null); + } + + public void register(@NotNull MavenId id, @NotNull File file, @Nullable File outputFile) { for (MavenId each : getAllIDs(id)) { - myMapping.put(each, new Data(id, file)); + myMapping.put(each, new Data(id, file, outputFile)); } } @@ -70,11 +74,17 @@ public class MavenWorkspaceMap implements Serializable { public static class Data implements Serializable { public final MavenId originalId; - public final File file; + private final File file; + private final File outputFile; - private Data(MavenId originalId, File file) { + private Data(MavenId originalId, File file, File outputFile) { this.originalId = originalId; this.file = file; + this.outputFile = outputFile; + } + + public File getFile(String type) { + return outputFile == null || MavenConstants.POM_EXTENSION.equalsIgnoreCase(type) ? file : outputFile; } } } diff --git a/plugins/maven/maven2-server-impl/src/org/jetbrains/idea/maven/server/embedder/CustomArtifactResolver.java b/plugins/maven/maven2-server-impl/src/org/jetbrains/idea/maven/server/embedder/CustomArtifactResolver.java index 0946deb9e08a..75aeeb42f272 100644 --- a/plugins/maven/maven2-server-impl/src/org/jetbrains/idea/maven/server/embedder/CustomArtifactResolver.java +++ b/plugins/maven/maven2-server-impl/src/org/jetbrains/idea/maven/server/embedder/CustomArtifactResolver.java @@ -76,9 +76,9 @@ public class CustomArtifactResolver extends DefaultArtifactResolver { if (resolved == null) return false; a.setResolved(true); - a.setFile(resolved.file); + a.setFile(resolved.getFile(a.getType())); a.selectVersion(resolved.originalId.getVersion()); return true; } -} +} \ No newline at end of file diff --git a/plugins/maven/maven3-server-impl/src/org/jetbrains/idea/maven/server/embedder/CustomMaven3ArtifactResolver.java b/plugins/maven/maven3-server-impl/src/org/jetbrains/idea/maven/server/embedder/CustomMaven3ArtifactResolver.java index 94d16836cde4..daa9dcbfb3a9 100644 --- a/plugins/maven/maven3-server-impl/src/org/jetbrains/idea/maven/server/embedder/CustomMaven3ArtifactResolver.java +++ b/plugins/maven/maven3-server-impl/src/org/jetbrains/idea/maven/server/embedder/CustomMaven3ArtifactResolver.java @@ -78,7 +78,7 @@ public class CustomMaven3ArtifactResolver extends DefaultArtifactResolver { if (resolved == null) return false; a.setResolved(true); - a.setFile(resolved.file); + a.setFile(resolved.getFile(a.getType())); a.selectVersion(resolved.originalId.getVersion()); return true;