diff --git a/java/java-impl/src/com/intellij/javadoc/JavadocConfiguration.java b/java/java-impl/src/com/intellij/javadoc/JavadocConfiguration.java
index ba3bb381e365..eecf8f0a6e58 100644
--- a/java/java-impl/src/com/intellij/javadoc/JavadocConfiguration.java
+++ b/java/java-impl/src/com/intellij/javadoc/JavadocConfiguration.java
@@ -36,14 +36,12 @@ import com.intellij.openapi.projectRoots.JavaSdk;
import com.intellij.openapi.projectRoots.JavaSdkType;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.ex.PathUtilEx;
-import com.intellij.openapi.roots.ContentEntry;
-import com.intellij.openapi.roots.ModuleRootManager;
-import com.intellij.openapi.roots.ProjectRootsTraversing;
-import com.intellij.openapi.roots.SourceFolder;
+import com.intellij.openapi.roots.*;
import com.intellij.openapi.util.*;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
import com.intellij.util.PathUtil;
+import com.intellij.util.PathsList;
import com.intellij.util.containers.HashSet;
import org.jdom.Element;
import org.jetbrains.annotations.NonNls;
@@ -224,16 +222,22 @@ public class JavadocConfiguration implements ModuleRunProfile, JDOMExternalizabl
parameters.addParametersString(OTHER_OPTIONS);
- final String classPath = jdk.getSdkType() instanceof JavaSdk
- ? ProjectRootsTraversing.collectRoots(myProject, ProjectRootsTraversing.PROJECT_LIBRARIES).getPathsString()
- : ProjectRootsTraversing.collectRoots(myProject, ProjectRootsTraversing.LIBRARIES_AND_JDK).getPathsString(); //libraries are included into jdk
- if (classPath.length() >0) {
+ final PathsList classPath;
+ if (jdk.getSdkType() instanceof JavaSdk) {
+ classPath = OrderEnumerator.orderEntries(myProject).withoutSdk().withoutThisModuleContent().getPathsList();
+ }
+ else {
+ //libraries are included into jdk
+ classPath = OrderEnumerator.orderEntries(myProject).withoutThisModuleContent().getPathsList();
+ }
+ final String classPathString = classPath.getPathsString();
+ if (classPathString.length() > 0) {
parameters.add("-classpath");
- parameters.add(classPath);
+ parameters.add(classPathString);
}
parameters.add("-sourcepath");
- parameters.add(ProjectRootsTraversing.collectRoots(myProject, ProjectRootsTraversing.PROJECT_SOURCES).getPathsString());
+ parameters.add(OrderEnumerator.orderEntries(myProject).withoutSdk().withoutLibraries().getSourcePathsList().getPathsString());
if (OUTPUT_DIRECTORY != null) {
parameters.add("-d");
diff --git a/java/java-tests/testSrc/com/intellij/roots/ProjectRootsTraversingTest.java b/java/java-tests/testSrc/com/intellij/roots/ProjectRootsTraversingTest.java
index b2975d7aa548..a1ba267832dd 100644
--- a/java/java-tests/testSrc/com/intellij/roots/ProjectRootsTraversingTest.java
+++ b/java/java-tests/testSrc/com/intellij/roots/ProjectRootsTraversingTest.java
@@ -9,6 +9,7 @@ import com.intellij.util.PathsList;
/**
* @author nik
*/
+@SuppressWarnings({"deprecation"})
public class ProjectRootsTraversingTest extends ModuleRootManagerTestCase {
public void testLibrary() throws Exception {
diff --git a/platform/lang-api/src/com/intellij/openapi/roots/OrderEnumerator.java b/platform/lang-api/src/com/intellij/openapi/roots/OrderEnumerator.java
index 40573aaf21e5..adc0c981d706 100644
--- a/platform/lang-api/src/com/intellij/openapi/roots/OrderEnumerator.java
+++ b/platform/lang-api/src/com/intellij/openapi/roots/OrderEnumerator.java
@@ -16,6 +16,7 @@
package com.intellij.openapi.roots;
import com.intellij.openapi.module.Module;
+import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.vfs.VirtualFile;
@@ -60,4 +61,8 @@ public abstract class OrderEnumerator {
public static OrderEnumerator orderEntries(@NotNull Module module) {
return ModuleRootManager.getInstance(module).orderEntries();
}
+
+ public static OrderEnumerator orderEntries(@NotNull Project project) {
+ return ProjectRootManager.getInstance(project).orderEntries();
+ }
}
diff --git a/platform/lang-api/src/com/intellij/openapi/roots/ProjectRootsTraversing.java b/platform/lang-api/src/com/intellij/openapi/roots/ProjectRootsTraversing.java
index 8414dd8f4712..06fe1421f246 100644
--- a/platform/lang-api/src/com/intellij/openapi/roots/ProjectRootsTraversing.java
+++ b/platform/lang-api/src/com/intellij/openapi/roots/ProjectRootsTraversing.java
@@ -30,13 +30,24 @@ import java.util.HashSet;
import java.util.List;
public class ProjectRootsTraversing {
-
+ /**
+ * @deprecated use OrderEnumerator.orderEntries(module).withoutDepModules().withoutThisModuleContent().getPathsList()
+ * or OrderEnumerator.orderEntries(project).withoutThisModuleContent().getPathsList() instead
+ */
public static final RootTraversePolicy LIBRARIES_AND_JDK =
new RootTraversePolicy(null, RootTraversePolicy.ADD_CLASSES, RootTraversePolicy.ADD_CLASSES, null);
+ /**
+ * @deprecated use OrderEnumerator.orderEntries(module).withoutSdk().withoutLibraries().withoutDepModules().getSourcePathsList()
+ * or OrderEnumerator.orderEntries(project).withoutSdk().withoutLibraries().getSourcePathsList() instead
+ */
public static final RootTraversePolicy PROJECT_SOURCES =
new RootTraversePolicy(RootTraversePolicy.SOURCES, null, null, null);
+ /**
+ * @deprecated use OrderEnumerator.orderEntries().withoutSdk().withoutThisModuleContent().recursively().getPathsList()
+ * or OrderEnumerator.orderEntries().withoutSdk().withoutThisModuleContent().getPathsList() instead
+ */
public static final RootTraversePolicy PROJECT_LIBRARIES =
new RootTraversePolicy(null, null, RootTraversePolicy.ADD_CLASSES, RootTraversePolicy.RECURSIVE);
diff --git a/platform/lang-impl/src/com/intellij/ide/macro/ModulePathMacro.java b/platform/lang-impl/src/com/intellij/ide/macro/ModulePathMacro.java
index f40aaf4eb37a..79b35eadeb3d 100644
--- a/platform/lang-impl/src/com/intellij/ide/macro/ModulePathMacro.java
+++ b/platform/lang-impl/src/com/intellij/ide/macro/ModulePathMacro.java
@@ -20,7 +20,7 @@ import com.intellij.ide.IdeBundle;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.LangDataKeys;
import com.intellij.openapi.module.Module;
-import com.intellij.openapi.roots.ProjectRootsTraversing;
+import com.intellij.openapi.roots.OrderEnumerator;
public final class ModulePathMacro extends Macro {
public String getName() {
@@ -36,6 +36,6 @@ public final class ModulePathMacro extends Macro {
if (module == null) {
return null;
}
- return ProjectRootsTraversing.collectRoots(module, ProjectRootsTraversing.PROJECT_SOURCES).getPathsString();
+ return OrderEnumerator.orderEntries(module).withoutSdk().withoutLibraries().getSourcePathsList().getPathsString();
}
}
diff --git a/platform/lang-impl/src/com/intellij/ide/macro/ProjectPathMacro.java b/platform/lang-impl/src/com/intellij/ide/macro/ProjectPathMacro.java
index 0eb3bb120fd5..eee22853089c 100644
--- a/platform/lang-impl/src/com/intellij/ide/macro/ProjectPathMacro.java
+++ b/platform/lang-impl/src/com/intellij/ide/macro/ProjectPathMacro.java
@@ -20,7 +20,7 @@ import com.intellij.ide.IdeBundle;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.project.Project;
-import com.intellij.openapi.roots.ProjectRootsTraversing;
+import com.intellij.openapi.roots.OrderEnumerator;
public final class ProjectPathMacro extends Macro {
public String getName() {
@@ -34,6 +34,6 @@ public final class ProjectPathMacro extends Macro {
public String expand(DataContext dataContext) {
Project project = PlatformDataKeys.PROJECT.getData(dataContext);
if (project == null) return null;
- return ProjectRootsTraversing.collectRoots(project, ProjectRootsTraversing.PROJECT_SOURCES).getPathsString();
+ return OrderEnumerator.orderEntries(project).withoutSdk().withoutLibraries().getSourcePathsList().getPathsString();
}
}
diff --git a/platform/lang-impl/src/com/intellij/ide/macro/SourcepathMacro.java b/platform/lang-impl/src/com/intellij/ide/macro/SourcepathMacro.java
index c3c789b7c853..8e6cedde8f4e 100644
--- a/platform/lang-impl/src/com/intellij/ide/macro/SourcepathMacro.java
+++ b/platform/lang-impl/src/com/intellij/ide/macro/SourcepathMacro.java
@@ -20,7 +20,7 @@ import com.intellij.ide.IdeBundle;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.project.Project;
-import com.intellij.openapi.roots.ProjectRootsTraversing;
+import com.intellij.openapi.roots.OrderEnumerator;
public final class SourcepathMacro extends Macro {
public String getName() {
@@ -34,6 +34,6 @@ public final class SourcepathMacro extends Macro {
public String expand(DataContext dataContext) {
Project project = PlatformDataKeys.PROJECT.getData(dataContext);
if (project == null) return null;
- return ProjectRootsTraversing.collectRoots(project, ProjectRootsTraversing.PROJECT_SOURCES).getPathsString();
+ return OrderEnumerator.orderEntries(project).withoutSdk().withoutLibraries().getSourcePathsList().getPathsString();
}
}
diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java
index 7b2cbf7d4628..fa9c9fb33d16 100644
--- a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java
+++ b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java
@@ -42,6 +42,7 @@ import com.intellij.openapi.fileTypes.StdFileTypes;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleUtil;
import com.intellij.openapi.project.Project;
+import com.intellij.openapi.roots.OrderEnumerator;
import com.intellij.openapi.roots.ProjectClasspathTraversing;
import com.intellij.openapi.roots.ProjectRootsTraversing;
import com.intellij.openapi.ui.Messages;
@@ -125,7 +126,7 @@ public final class PreviewFormAction extends AnAction{
return;
}
- final PathsList sources = ProjectRootsTraversing.collectRoots(module, ProjectRootsTraversing.PROJECT_SOURCES);
+ final PathsList sources = OrderEnumerator.orderEntries(module).withoutSdk().withoutLibraries().withoutDepModules().getSourcePathsList();
final String classPath =
ProjectRootsTraversing.collectRoots(module, ProjectClasspathTraversing.FULL_CLASSPATH_RECURSIVE).getPathsString() + File.pathSeparator +
sources.getPathsString() + File.pathSeparator + /* resources bundles */