diff --git a/platform/lang-api/src/com/intellij/openapi/roots/OrderEnumerationHandler.java b/platform/lang-api/src/com/intellij/openapi/roots/OrderEnumerationHandler.java index 53aa45de4f55..a1b0c3debc9b 100644 --- a/platform/lang-api/src/com/intellij/openapi/roots/OrderEnumerationHandler.java +++ b/platform/lang-api/src/com/intellij/openapi/roots/OrderEnumerationHandler.java @@ -36,7 +36,10 @@ public abstract class OrderEnumerationHandler { return true; } - public boolean addCustomOutput(@NotNull ModuleOrderEntry orderEntry, boolean productionOnly, @NotNull Collection urls) { + public boolean addCustomOutput(@NotNull ModuleOrderEntry orderEntry, + boolean productionOnly, + boolean runtimeOnly, + boolean compileOnly, @NotNull Collection urls) { return false; } } diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/impl/OrderEnumeratorBase.java b/platform/lang-impl/src/com/intellij/openapi/roots/impl/OrderEnumeratorBase.java index b8441447d3cb..be89e9ac2a29 100644 --- a/platform/lang-impl/src/com/intellij/openapi/roots/impl/OrderEnumeratorBase.java +++ b/platform/lang-impl/src/com/intellij/openapi/roots/impl/OrderEnumeratorBase.java @@ -283,7 +283,7 @@ abstract class OrderEnumeratorBase extends OrderEnumerator { if (myCustomHandlers != null) { for (OrderEnumerationHandler handler : myCustomHandlers) { final List urls = new ArrayList(); - final boolean added = handler.addCustomOutput(moduleOrderEntry, myProductionOnly, urls); + final boolean added = handler.addCustomOutput(moduleOrderEntry, myProductionOnly, myRuntimeOnly, myCompileOnly, urls); for (String url : urls) { ContainerUtil.addIfNotNull(VirtualFileManager.getInstance().findFileByUrl(url), result); } @@ -298,7 +298,7 @@ abstract class OrderEnumeratorBase extends OrderEnumerator { boolean addCustomOutputUrls(ModuleOrderEntry moduleOrderEntry, Collection result) { if (myCustomHandlers != null) { for (OrderEnumerationHandler handler : myCustomHandlers) { - if (handler.addCustomOutput(moduleOrderEntry, myProductionOnly, result)) { + if (handler.addCustomOutput(moduleOrderEntry, myProductionOnly, myRuntimeOnly, myCompileOnly, result)) { return true; } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenOrderEnumeratorHandler.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenOrderEnumeratorHandler.java index ff6139e50130..9464fec802c0 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenOrderEnumeratorHandler.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenOrderEnumeratorHandler.java @@ -51,7 +51,7 @@ public class MavenOrderEnumeratorHandler extends OrderEnumerationHandler { @Override public boolean addCustomOutput(@NotNull ModuleOrderEntry orderEntry, boolean productionOnly, - @NotNull Collection urls) { + boolean runtimeOnly, boolean compileOnly, @NotNull Collection urls) { final Module ownerModule = orderEntry.getOwnerModule(); final Module depModule = orderEntry.getModule(); if (depModule == null) return false; @@ -65,7 +65,7 @@ public class MavenOrderEnumeratorHandler extends OrderEnumerationHandler { for (MavenArtifact each : project.findDependencies(depProject)) { - if (productionOnly && MavenConstants.SCOPE_PROVIDEED.equals(each.getScope())) continue; + if (productionOnly && runtimeOnly && MavenConstants.SCOPE_PROVIDEED.equals(each.getScope())) continue; if (productionOnly && MavenConstants.SCOPE_TEST.equals(each.getScope())) continue; boolean isTestJar = MavenConstants.TYPE_TEST_JAR.equals(each.getType()) || "tests".equals(each.getClassifier());