From 32c3536f2f409c7ee0a1ea662c12347bcfc10be3 Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 11 Oct 2017 13:35:34 +0300 Subject: [PATCH] spring tests: locate JARs from hibernate library via project configuration If paths to JAR files are hardcoded tests will break when corresponding libraries are converted to repository libraries. --- .../intellij/testFramework/PsiTestUtil.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/platform/testFramework/src/com/intellij/testFramework/PsiTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/PsiTestUtil.java index 4bd3ad387f1e..4cd0bcd4654a 100644 --- a/platform/testFramework/src/com/intellij/testFramework/PsiTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/PsiTestUtil.java @@ -265,27 +265,36 @@ public class PsiTestUtil { } public static void addProjectLibrary(Module module, String libName, List classesRootPaths) { - List roots = ContainerUtil.map(classesRootPaths, path -> VirtualFileManager.getInstance().refreshAndFindFileByUrl(VfsUtil.getUrlForLibraryRoot(new File(path)))); + List roots = getLibraryRoots(classesRootPaths); addProjectLibrary(module, libName, roots, Collections.emptyList()); } + @NotNull + private static List getLibraryRoots(List classesRootPaths) { + return ContainerUtil.map(classesRootPaths, path -> VirtualFileManager.getInstance().refreshAndFindFileByUrl(VfsUtil.getUrlForLibraryRoot(new File(path)))); + } + + public static void addProjectLibrary(ModifiableRootModel model, String libName, List classesRootPaths) { + List roots = getLibraryRoots(classesRootPaths); + addProjectLibrary(model, libName, roots, Collections.emptyList()); + } + public static void addProjectLibrary(Module module, String libName, VirtualFile... classesRoots) { addProjectLibrary(module, libName, Arrays.asList(classesRoots), Collections.emptyList()); } public static Library addProjectLibrary(Module module, String libName, List classesRoots, List sourceRoots) { Ref result = Ref.create(); - ModuleRootModificationUtil.updateModel(module, model -> result.set(addProjectLibrary(module, model, libName, classesRoots, sourceRoots))); + ModuleRootModificationUtil.updateModel(module, model -> result.set(addProjectLibrary(model, libName, classesRoots, sourceRoots))); return result.get(); } @NotNull - private static Library addProjectLibrary(Module module, - ModifiableRootModel model, + private static Library addProjectLibrary(ModifiableRootModel model, String libName, List classesRoots, List sourceRoots) { - LibraryTable libraryTable = ProjectLibraryTable.getInstance(module.getProject()); + LibraryTable libraryTable = ProjectLibraryTable.getInstance(model.getProject()); RunResult result = new WriteAction() { @Override protected void run(@NotNull Result result) { @@ -341,7 +350,7 @@ public class PsiTestUtil { assert root != null : "Library root folder not found: " + path + "!/"; classesRoots.add(root); } - return addProjectLibrary(module, model, libName, classesRoots, Collections.emptyList()); + return addProjectLibrary(model, libName, classesRoots, Collections.emptyList()); } public static void addLibrary(Module module,