more ModuleRootModel modifications rewritten using util methods

This commit is contained in:
nik
2012-06-18 17:08:59 +04:00
parent c345058930
commit 332b692e1f
43 changed files with 243 additions and 667 deletions
@@ -17,12 +17,7 @@ package com.intellij.codeInsight;
import com.intellij.JavaTestUtil;
import com.intellij.codeInspection.inferNullity.NullityInferrer;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.libraries.LibraryTable;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.vfs.JarFileSystem;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
@@ -83,25 +78,13 @@ public class NullityInferrerTest extends CodeInsightTestCase {
private void doTest(boolean annotateLocalVariables) throws Exception {
final String nullityPath = "/codeInsight/nullityinferrer";
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
final VirtualFile aLib = LocalFileSystem.getInstance().findFileByPath(getTestDataPath() + nullityPath + "/lib/annotations.jar");
if (aLib != null) {
final VirtualFile file = JarFileSystem.getInstance().getJarRootForLocalFile(aLib);
if (file != null) {
final ModifiableRootModel model = ModuleRootManager.getInstance(myModule).getModifiableModel();
final LibraryTable libraryTable = model.getModuleLibraryTable();
final Library library = libraryTable.createLibrary("test");
final Library.ModifiableModel libraryModel = library.getModifiableModel();
libraryModel.addRoot(file.getUrl(), OrderRootType.CLASSES);
libraryModel.commit();
model.commit();
}
}
final VirtualFile aLib = LocalFileSystem.getInstance().findFileByPath(getTestDataPath() + nullityPath + "/lib/annotations.jar");
if (aLib != null) {
final VirtualFile file = JarFileSystem.getInstance().getJarRootForLocalFile(aLib);
if (file != null) {
ModuleRootModificationUtil.addModuleLibrary(myModule, file.getUrl());
}
});
}
configureByFile(nullityPath + "/before" + getTestName(false) + ".java");
final NullityInferrer nullityInferrer = new NullityInferrer(annotateLocalVariables, getProject());
@@ -11,9 +11,6 @@ import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.fileTypes.FileTypes;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
@@ -315,19 +312,12 @@ public class FindManagerTest extends DaemonAnalyzerTestCase {
}
VirtualFile projectDir = LocalFileSystem.getInstance().refreshAndFindFileByPath(new File(testDir).getCanonicalPath().replace(File.separatorChar, '/'));
final ModuleRootManager rootManager = ModuleRootManager.getInstance(myModule);
final ModifiableRootModel rootModel = rootManager.getModifiableModel();
rootModel.clear();
// configure source and output path
final ContentEntry contentEntry = rootModel.addContentEntry(projectDir);
for (VirtualFile sourceDir : mySourceDirs) {
contentEntry.addSourceFolder(sourceDir, false);
}
Sdk jdk = JavaSdkImpl.getMockJdk17();
rootModel.setSdk(jdk);
rootModel.commit();
PsiTestUtil.removeAllRoots(myModule, jdk);
PsiTestUtil.addContentRoot(myModule, projectDir);
for (VirtualFile sourceDir : mySourceDirs) {
PsiTestUtil.addSourceRoot(myModule, sourceDir);
}
}
catch (Exception e){
throw new RuntimeException(e);
@@ -1,10 +1,7 @@
package com.intellij.ide.fileTemplates;
import com.intellij.ide.fileTemplates.impl.CustomFileTemplate;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
@@ -15,6 +12,7 @@ import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiManager;
import com.intellij.testFramework.IdeaTestCase;
import com.intellij.testFramework.PsiTestUtil;
import com.intellij.util.properties.EncodingAwareProperties;
import java.io.File;
@@ -105,19 +103,9 @@ public class FileTemplatesTest extends IdeaTestCase {
myFilesToDelete.add(temp);
final VirtualFile tempDir = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(temp);
final ModuleRootManager rootManager = ModuleRootManager.getInstance(getModule());
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
ModifiableRootModel model = rootManager.getModifiableModel();
ContentEntry contentEntry = model.addContentEntry(tempDir);
contentEntry.addSourceFolder(tempDir, false);
model.commit();
}
});
PsiTestUtil.addSourceRoot(getModule(), tempDir);
VirtualFile sourceRoot = rootManager.getSourceRoots()[0];
VirtualFile sourceRoot = ModuleRootManager.getInstance(getModule()).getSourceRoots()[0];
PsiDirectory psiDirectory = PsiManager.getInstance(getProject()).findDirectory(sourceRoot);
PsiClass psiClass = JavaDirectoryService.getInstance().createClass(psiDirectory, "XXX", name);
@@ -3,10 +3,7 @@ package com.intellij.psi;
import com.intellij.JavaTestUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.fileTypes.StdFileTypes;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.impl.JavaConstantExpressionEvaluator;
import com.intellij.psi.search.GlobalSearchScope;
@@ -29,14 +26,7 @@ public class ConstantValuesTest extends PsiTestCase{
try{
String rootPath = JavaTestUtil.getJavaTestDataPath() + "/psi/constantValues";
VirtualFile root = PsiTestUtil.createTestProjectStructure(myProject, myModule, rootPath, myFilesToDelete, true);
ModuleRootManager rootManager = ModuleRootManager.getInstance(myModule);
ModifiableRootModel rootModel = rootManager.getModifiableModel();
Library lib = rootModel.getModuleLibraryTable().createLibrary("test");
Library.ModifiableModel libModel = lib.getModifiableModel();
libModel.addRoot(root, OrderRootType.CLASSES);
libModel.commit();
rootModel.commit();
ModuleRootModificationUtil.addModuleLibrary(myModule, root.getUrl());
}
catch(Exception e){
LOG.error(e);
@@ -2,14 +2,12 @@ package com.intellij.psi;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.PsiTestCase;
import com.intellij.testFramework.PsiTestUtil;
import java.io.File;
@@ -23,8 +21,7 @@ public abstract class GenericsTestCase extends PsiTestCase {
LanguageLevelProjectExtension.getInstance(myJavaFacade.getProject()).setLanguageLevel(LanguageLevel.JDK_1_5);
}
protected ModifiableRootModel setupGenericSampleClasses() {
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
protected void setupGenericSampleClasses() {
final String commonPath = PathManagerEx.getTestDataPath().replace(File.separatorChar, '/') + "/psi/types/src";
final VirtualFile[] commonRoot = new VirtualFile[] { null };
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@@ -34,8 +31,6 @@ public abstract class GenericsTestCase extends PsiTestCase {
}
});
final ContentEntry commonContentEntry = rootModel.addContentEntry(commonRoot[0]);
commonContentEntry.addSourceFolder(commonRoot[0], false);
return rootModel;
PsiTestUtil.addSourceRoot(myModule, commonRoot[0]);
}
}
@@ -3,14 +3,13 @@ package com.intellij.psi;
import com.intellij.JavaTestUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.roots.*;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.libraries.LibraryTable;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.testFramework.PsiTestCase;
import java.io.File;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
@@ -76,18 +75,9 @@ public class LibraryOrderTest extends PsiTestCase {
assertTrue(lib1SrcFile != null);
assertTrue(lib2SrcFile != null);
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final LibraryTable libraryTable = rootModel.getModuleLibraryTable();
addLibraryWithSourcePath("lib1", lib1classes, lib1SrcFile);
addLibraryWithSourcePath("lib2", lib2classes, lib2SrcFile);
addLibraryWithSourcePath("lib1", libraryTable, lib1SrcFile, lib1classes);
addLibraryWithSourcePath("lib2", libraryTable, lib2SrcFile, lib2classes);
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
rootModel.commit();
}
});
final List<VirtualFile> list = Arrays.asList(OrderEnumerator.orderEntries(myModule).getClassesRoots());
assertTrue(list.contains(lib1classes));
assertTrue(list.contains(lib2classes));
@@ -99,12 +89,8 @@ public class LibraryOrderTest extends PsiTestCase {
return lib1SrcFile;
}
private void addLibraryWithSourcePath(String name, final LibraryTable libraryTable, final VirtualFile libSource,
VirtualFile libClasses) {
final Library lib = libraryTable.createLibrary(name);
final Library.ModifiableModel libModel = lib.getModifiableModel();
libModel.addRoot(libClasses, OrderRootType.CLASSES);
libModel.addRoot(libSource, OrderRootType.SOURCES);
libModel.commit();
private void addLibraryWithSourcePath(String name, VirtualFile libClasses, final VirtualFile libSource) {
ModuleRootModificationUtil.addModuleLibrary(myModule, name, Collections.singletonList(libClasses.getUrl()),
Collections.singletonList(libSource.getUrl()));
}
}
@@ -2,14 +2,12 @@ package com.intellij.psi;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.util.PsiUtilBase;
import com.intellij.testFramework.PsiTestCase;
import com.intellij.testFramework.PsiTestUtil;
import java.io.File;
import java.io.IOException;
@@ -46,13 +44,11 @@ public class OverlappingSourceRootsTest extends PsiTestCase {
mySourceRoot11 = mySourceRoot1.createChildDirectory(null, "root11");
mySourceRoot21 = mySourceRoot2.createChildDirectory(null, "root21");
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry contentEntry = rootModel.addContentEntry(myProjectRoot);
contentEntry.addSourceFolder(mySourceRoot21, false);
contentEntry.addSourceFolder(mySourceRoot1, false);
contentEntry.addSourceFolder(mySourceRoot2, false);
contentEntry.addSourceFolder(mySourceRoot11, false);
rootModel.commit();
PsiTestUtil.addContentRoot(myModule, myProjectRoot);
PsiTestUtil.addSourceRoot(myModule, mySourceRoot21);
PsiTestUtil.addSourceRoot(myModule, mySourceRoot1);
PsiTestUtil.addSourceRoot(myModule, mySourceRoot2);
PsiTestUtil.addSourceRoot(myModule, mySourceRoot11);
myFile1 = mySourceRoot1.createChildData(null, "File1.java");
myFile2 = mySourceRoot2.createChildData(null, "File2.java");
@@ -2,10 +2,7 @@ package com.intellij.psi;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.util.Computable;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
@@ -29,16 +26,7 @@ public class SCR17094Test extends PsiTestCase {
}
});
assertNotNull(classesRoot);
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final Library.ModifiableModel libraryModel = rootModel.getModuleLibraryTable().createLibrary().getModifiableModel();
libraryModel.addRoot(classesRoot, OrderRootType.CLASSES);
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
libraryModel.commit();
rootModel.commit();
}
});
ModuleRootModificationUtil.addModuleLibrary(myModule, classesRoot.getUrl());
}
@Override
@@ -2,13 +2,12 @@ package com.intellij.psi;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.util.PsiUtil;
import com.intellij.testFramework.PsiTestUtil;
import java.io.File;
@@ -19,7 +18,7 @@ public class TypesTest extends GenericsTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
final ModifiableRootModel rootModel = setupGenericSampleClasses();
setupGenericSampleClasses();
final String testPath = PathManagerEx.getTestDataPath().replace(File.separatorChar, '/') + "/psi/types/" + getTestName(true);
final VirtualFile[] testRoot = { null };
@@ -30,15 +29,8 @@ public class TypesTest extends GenericsTestCase {
}
});
if (testRoot[0] != null) {
final ContentEntry testContentEntry = rootModel.addContentEntry(testRoot[0]);
testContentEntry.addSourceFolder(testRoot[0], false);
PsiTestUtil.addSourceRoot(myModule, testRoot[0]);
}
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
rootModel.commit();
}
});
}
public void testSimpleStuff() throws Exception {
@@ -11,7 +11,9 @@ import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiClass;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.testFramework.PsiTestCase;
import com.intellij.testFramework.PsiTestUtil;
import java.io.File;
import java.io.IOException;
@@ -47,10 +49,8 @@ public class SCR14423Test extends PsiTestCase {
VirtualFile file1 = myPackDir.createChildData(null, "A.java");
VfsUtil.saveText(file1, "package p; public class A{ public void foo(); }");
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry contentEntry1 = rootModel.addContentEntry(myPrjDir1);
contentEntry1.addSourceFolder(mySrcDir1, false);
rootModel.commit();
PsiTestUtil.addContentRoot(myModule, myPrjDir1);
PsiTestUtil.addSourceRoot(myModule, mySrcDir1);
}
catch (IOException e) {
LOG.error(e);
@@ -69,19 +69,17 @@ public class SCR14423Test extends PsiTestCase {
public void testBug1() {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
rootModel.getContentEntries()[0].addExcludeFolder(myPackDir);
rootModel.commit();
PsiTestUtil.addExcludedRoot(myModule, myPackDir);
PsiClass psiClass = myJavaFacade.findClass("p.A");
PsiClass psiClass = myJavaFacade.findClass("p.A", GlobalSearchScope.allScope(myProject));
assertNull(psiClass);
rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry content = rootModel.getContentEntries()[0];
content.removeExcludeFolder(content.getExcludeFolders()[0]);
rootModel.commit();
psiClass = myJavaFacade.findClass("p.A");
psiClass = myJavaFacade.findClass("p.A", GlobalSearchScope.allScope(myProject));
assertEquals("p.A", psiClass.getQualifiedName());
}
});
@@ -90,18 +88,16 @@ public class SCR14423Test extends PsiTestCase {
public void testBug3() {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
PsiClass psiClass = myJavaFacade.findClass("p.A");
PsiClass psiClass = myJavaFacade.findClass("p.A", GlobalSearchScope.allScope(myProject));
assertEquals("p.A", psiClass.getQualifiedName());
assertTrue(psiClass.isValid());
ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
rootModel.getContentEntries()[0].addExcludeFolder(myPackDir);
rootModel.commit();
PsiTestUtil.addExcludedRoot(myModule, myPackDir);
assertFalse(psiClass.isValid());
rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry content = rootModel.getContentEntries()[0];
content.removeExcludeFolder(content.getExcludeFolders()[0]);
rootModel.commit();
@@ -2,17 +2,14 @@ package com.intellij.psi.impl.cache.impl;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.testFramework.PsiTestCase;
import com.intellij.testFramework.PsiTestUtil;
import java.io.File;
import java.io.IOException;
@@ -46,14 +43,8 @@ public class SCR17650Test extends PsiTestCase {
VfsUtil.saveText(file1, "package p; public class A{ public void foo(); }");
VfsUtilCore.copyFile(null, getClassFile(), myDir);
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry contentEntry1 = rootModel.addContentEntry(myDir);
contentEntry1.addSourceFolder(myDir, false);
final Library jarLibrary = rootModel.getModuleLibraryTable().createLibrary();
final Library.ModifiableModel libraryModel = jarLibrary.getModifiableModel();
libraryModel.addRoot(myDir, OrderRootType.CLASSES);
libraryModel.commit();
rootModel.commit();
PsiTestUtil.addSourceRoot(myModule, myDir);
ModuleRootModificationUtil.addModuleLibrary(myModule, myDir.getUrl());
}
catch (IOException e) {
LOG.error(e);
@@ -1,17 +1,14 @@
package com.intellij.psi.impl.cache.impl;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import com.intellij.testFramework.PsiTestCase;
import com.intellij.testFramework.PsiTestUtil;
import java.io.File;
import java.io.IOException;
@@ -46,11 +43,7 @@ public class SCR19174Test extends PsiTestCase {
writer1.write("package p; public class A{ public void foo(); }");
writer1.close();
*/
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry contentEntry1 = rootModel.addContentEntry(myDir);
contentEntry1.addSourceFolder(myDir, false);
rootModel.commit();
PsiTestUtil.addSourceRoot(myModule, myDir);
}
catch (IOException e) {
LOG.error(e);
@@ -60,17 +53,7 @@ public class SCR19174Test extends PsiTestCase {
}
private void changeRoots() {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final Library jarLibrary = rootModel.getModuleLibraryTable().createLibrary();
final Library.ModifiableModel libraryModel = jarLibrary.getModifiableModel();
libraryModel.addRoot(myDir, OrderRootType.CLASSES);
libraryModel.commit();
rootModel.commit();
}
});
ModuleRootModificationUtil.addModuleLibrary(myModule, myDir.getUrl());
}
public void testBug() throws Exception {
@@ -3,9 +3,6 @@ package com.intellij.psi.impl.cache.impl;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleUtil;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtil;
@@ -13,6 +10,7 @@ import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiFile;
import com.intellij.testFramework.PsiTestCase;
import com.intellij.testFramework.PsiTestUtil;
import java.io.File;
import java.io.IOException;
@@ -47,10 +45,8 @@ public class SCR20733Test extends PsiTestCase {
VirtualFile file1 = myPackDir.createChildData(null, "A.java");
VfsUtil.saveText(file1, "package p; public class A{ public void foo(); }");
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry contentEntry1 = rootModel.addContentEntry(myPrjDir1);
contentEntry1.addSourceFolder(mySrcDir1, false);
rootModel.commit();
PsiTestUtil.addContentRoot(myModule, myPrjDir1);
PsiTestUtil.addSourceRoot(myModule, mySrcDir1);
}
catch (IOException e) {
LOG.error(e);
@@ -75,9 +71,7 @@ public class SCR20733Test extends PsiTestCase {
Module anotherModule = createModule("another");
myFilesToDelete.add(new File(anotherModule.getModuleFilePath()));
ModifiableRootModel rootModel = ModuleRootManager.getInstance(anotherModule).getModifiableModel();
rootModel.addContentEntry(mySrcDir1).addSourceFolder(mySrcDir1, false);
rootModel.commit();
PsiTestUtil.addSourceRoot(anotherModule, mySrcDir1);
assertEquals(anotherModule, ModuleUtil.findModuleForFile(file, myProject));
}
@@ -16,12 +16,7 @@
package com.intellij.psi.impl.file.impl;
import com.intellij.JavaTestUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
@@ -61,18 +56,7 @@ public class InvalidateClassFileTest extends PsiTestCase {
assertNotNull(rootVFile);
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
Module module = myModule;
final ModuleRootManager rootManager = ModuleRootManager.getInstance(module);
final ModifiableRootModel rootModel = rootManager.getModifiableModel();
final Library library = rootModel.getModuleLibraryTable().createLibrary();
final Library.ModifiableModel libraryModel = library.getModifiableModel();
libraryModel.addRoot(rootVFile.getUrl(), OrderRootType.CLASSES);
libraryModel.commit();
rootModel.commit();
}
});
ModuleRootModificationUtil.addModuleLibrary(myModule, rootVFile.getUrl());
PsiClass clazz = getJavaFacade().findClass("Clazz", GlobalSearchScope.allScope(myProject));
assertNotNull(clazz);
@@ -6,11 +6,7 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileTypes.FileTypeManager;
import com.intellij.openapi.fileTypes.ex.FileTypeManagerEx;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtil;
@@ -19,8 +15,9 @@ import com.intellij.psi.*;
import com.intellij.psi.impl.PsiTreeChangeEventImpl;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.testFramework.PsiTestCase;
import com.intellij.util.io.ReadOnlyAttributeUtil;
import com.intellij.testFramework.PsiTestUtil;
import com.intellij.util.WaitFor;
import com.intellij.util.io.ReadOnlyAttributeUtil;
import org.jetbrains.annotations.NotNull;
import java.io.File;
@@ -66,17 +63,13 @@ public class PsiEventsTest extends PsiTestCase {
myExcludedDir1 = mySrcDir1.createChildDirectory(null, "excluded");
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry contentEntry1 = rootModel.addContentEntry(myPrjDir1);
contentEntry1.addSourceFolder(mySrcDir1, false);
contentEntry1.addSourceFolder(mySrcDir2, false);
contentEntry1.addExcludeFolder(myExcludedDir1);
final Library.ModifiableModel libraryModel = rootModel.getModuleLibraryTable().createLibrary().getModifiableModel();
libraryModel.addRoot(myClsDir1, OrderRootType.CLASSES);
libraryModel.commit();
final ContentEntry contentEntry2 = rootModel.addContentEntry(myPrjDir2);
contentEntry2.addSourceFolder(mySrcDir3, false);
rootModel.commit();
PsiTestUtil.addContentRoot(myModule, myPrjDir1);
PsiTestUtil.addSourceRoot(myModule, mySrcDir1);
PsiTestUtil.addSourceRoot(myModule, mySrcDir2);
PsiTestUtil.addContentRoot(myModule, myPrjDir2);
PsiTestUtil.addExcludedRoot(myModule, myExcludedDir1);
ModuleRootModificationUtil.addModuleLibrary(myModule, myClsDir1.getUrl());
PsiTestUtil.addSourceRoot(myModule, mySrcDir3);
} catch (IOException e) {
LOG.error(e);
}
@@ -463,15 +456,7 @@ public class PsiEventsTest extends PsiTestCase {
EventsTestListener listener = new EventsTestListener();
myPsiManager.addPsiTreeChangeListener(listener,getTestRootDisposable());
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry contentEntry1 = rootModel.getContentEntries()[0];
contentEntry1.addExcludeFolder(dir);
rootModel.commit();
}
});
PsiTestUtil.addExcludedRoot(myModule, dir);
String string = listener.getEventsString();
@@ -487,16 +472,7 @@ public class PsiEventsTest extends PsiTestCase {
EventsTestListener listener = new EventsTestListener();
myPsiManager.addPsiTreeChangeListener(listener,getTestRootDisposable());
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry contentEntry1 = rootModel.getContentEntries()[0];
contentEntry1.addSourceFolder(dir, false);
rootModel.commit();
}
});
PsiTestUtil.addSourceRoot(myModule, dir);
String string = listener.getEventsString();
String expected =
@@ -3,15 +3,13 @@ package com.intellij.psi.impl.source.tree.java;
import com.intellij.codeInsight.CodeInsightTestCase;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.util.Computable;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.testFramework.PsiTestUtil;
import com.intellij.util.IncorrectOperationException;
import java.io.File;
@@ -34,15 +32,7 @@ public class BindToElementTest extends CodeInsightTestCase {
}
});
assertNotNull(root);
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry contentEntry = rootModel.addContentEntry(root);
contentEntry.addSourceFolder(root, false);
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
rootModel.commit();
}
});
PsiTestUtil.addSourceRoot(myModule, root);
}
public void testSingleClassImport() throws Exception {
@@ -1,7 +1,5 @@
package com.intellij.psi.impl.source.tree.java;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
@@ -16,13 +14,7 @@ public class BindToGenericClassTest extends GenericsTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
final ModifiableRootModel rootModel = setupGenericSampleClasses();
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
rootModel.commit();
}
});
setupGenericSampleClasses();
final CodeStyleSettings currentSettings = CodeStyleSettingsManager.getInstance(myProject).getCurrentSettings();
myOldFQNamesSetting = currentSettings.USE_FQ_CLASS_NAMES;
@@ -21,7 +21,6 @@ import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.module.StdModuleTypes;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
@@ -29,6 +28,8 @@ import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.PsiTestUtil;
import com.intellij.testFramework.ResolveTestCase;
import java.util.Collections;
public class ResolveClassTest extends ResolveTestCase {
public void testFQName() throws Exception {
PsiReference ref = configure();
@@ -175,7 +176,7 @@ public class ResolveClassTest extends ResolveTestCase {
final VirtualFile file = ref.getElement().getContainingFile().getVirtualFile();
assertNotNull(file);
createFile(myModule, file.getParent(), "ModuleSourceAsLibrarySourceDep.java", loadFile("class/ModuleSourceAsLibrarySourceDep.java"));
addLibraryToRoots(file.getParent(), OrderRootType.SOURCES);
ModuleRootModificationUtil.addModuleLibrary(myModule, "lib", Collections.<String>emptyList(), Collections.singletonList(file.getParent().getUrl()));
assertInstanceOf(ref.resolve(), PsiClass.class);
}
@@ -1,12 +1,7 @@
package com.intellij.psi.search;
import com.intellij.JavaTestUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiFile;
@@ -52,24 +47,11 @@ public class SearchInLibsTest extends PsiTestCase {
final VirtualFile libClassesRoot = libRoot.findChild("classes");
final VirtualFile libSrcRoot = libRoot.findChild("src");
assertNotNull(libRoot);
final ModuleRootManager rootManager = ModuleRootManager.getInstance(myModule);
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
final ModifiableRootModel rootModel = rootManager.getModifiableModel();
rootModel.clear();
rootModel.setSdk(null);
final ContentEntry contentEntry = rootModel.addContentEntry(projectRoot);
contentEntry.addSourceFolder(projectRoot, false);
contentEntry.addSourceFolder(innerSourceRoot, false);
final Library.ModifiableModel libraryModel = rootModel.getModuleLibraryTable().createLibrary().getModifiableModel();
libraryModel.addRoot(libSrcRoot, OrderRootType.SOURCES);
libraryModel.addRoot(libClassesRoot, OrderRootType.CLASSES);
libraryModel.commit();
rootModel.commit();
}
});
PsiTestUtil.removeAllRoots(myModule, null);
PsiTestUtil.addSourceRoot(myModule, projectRoot);
PsiTestUtil.addSourceRoot(myModule, innerSourceRoot);
ModuleRootModificationUtil.addModuleLibrary(myModule, "lib", Collections.singletonList(libClassesRoot.getUrl()), Collections.singletonList(libSrcRoot.getUrl()));
final PsiClass aClass = myJavaFacade.findClass(classNameToSearch);
assertNotNull(aClass);
@@ -250,20 +250,7 @@ public class UpdateCacheTest extends PsiTestCase{
PsiDocumentManager.getInstance(myProject).commitAllDocuments();
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry[] content = rootModel.getContentEntries();
for (ContentEntry contentEntry : content) {
if (root.equals(contentEntry.getFile())) {
contentEntry.addExcludeFolder(dir);
break;
}
}
rootModel.commit();
}
});
PsiTestUtil.addExcludedRoot(myModule, dir);
PsiClass exceptionClass = myJavaFacade.findClass("java.lang.Exception",GlobalSearchScope.allScope(getProject()));
assertNotNull(exceptionClass);
@@ -277,20 +264,7 @@ public class UpdateCacheTest extends PsiTestCase{
final VirtualFile dir = root.findChild("aDir");
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry[] content = rootModel.getContentEntries();
for (ContentEntry contentEntry : content) {
if (root.equals(contentEntry.getFile())) {
contentEntry.addExcludeFolder(dir);
break;
}
}
rootModel.commit();
}
});
PsiTestUtil.addExcludedRoot(myModule, dir);
PsiSearchHelper.SERVICE.getInstance(myProject).findFilesWithTodoItems(); // to initialize caches
@@ -341,9 +315,7 @@ public class UpdateCacheTest extends PsiTestCase{
new WriteCommandAction.Simple(getProject()) {
@Override
protected void run() throws Throwable {
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
rootModel.addContentEntry(root);
rootModel.commit();
PsiTestUtil.addContentRoot(myModule, root);
VirtualFile newFile = root.createChildData(null, "New.java");
VfsUtil.saveText(newFile, "class A{ Exception e;} //todo");
@@ -354,20 +326,7 @@ public class UpdateCacheTest extends PsiTestCase{
PsiSearchHelper.SERVICE.getInstance(myProject).findFilesWithTodoItems(); // to initialize caches
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
final ModifiableRootModel rootModel1 = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry[] content = rootModel1.getContentEntries();
for (ContentEntry contentEntry : content) {
if (root.equals(contentEntry.getFile())) {
contentEntry.addSourceFolder(root, false);
break;
}
}
rootModel1.commit();
}
});
PsiTestUtil.addSourceRoot(myModule, root);
PsiClass exceptionClass = myJavaFacade.findClass("java.lang.Exception", GlobalSearchScope.allScope(getProject()));
assertNotNull(exceptionClass);
@@ -432,9 +391,7 @@ public class UpdateCacheTest extends PsiTestCase{
new WriteCommandAction.Simple(getProject()) {
@Override
protected void run() throws Throwable {
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
rootModel.addContentEntry(root).addSourceFolder(root, false);
rootModel.commit();
PsiTestUtil.addSourceRoot(myModule, root);
VirtualFile newFile = root.createChildData(null, "New.java");
VfsUtil.saveText(newFile, "class A{ Exception e;} //todo");
@@ -480,20 +437,7 @@ public class UpdateCacheTest extends PsiTestCase{
PsiSearchHelper.SERVICE.getInstance(myProject).findFilesWithTodoItems(); // to update caches
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry[] content = rootModel.getContentEntries();
for (ContentEntry contentEntry : content) {
if (root.equals(contentEntry.getFile())) {
contentEntry.addExcludeFolder(root);
break;
}
}
rootModel.commit();
}
});
PsiTestUtil.addExcludedRoot(myModule, root);
PsiClass exceptionClass = myJavaFacade.findClass("java.lang.Exception", GlobalSearchScope.allScope(getProject()));
assertNotNull(exceptionClass);
@@ -8,14 +8,10 @@
*/
package com.intellij.refactoring;
import com.intellij.JavaTestUtil;
import com.intellij.codeInsight.CodeInsightTestCase;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.libraries.LibraryTable;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiExpression;
@@ -25,7 +21,6 @@ import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.refactoring.introduceField.BaseExpressionToFieldHandler;
import com.intellij.refactoring.introduceField.LocalToFieldHandler;
import com.intellij.util.PathUtil;
import com.intellij.JavaTestUtil;
import org.junit.Before;
import java.io.File;
@@ -39,19 +34,8 @@ public class IntroduceFieldWitSetUpInitializationTest extends CodeInsightTestCas
@Override
protected Module createModule(final String name) {
final Module module = super.createModule(name);
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
final ModifiableRootModel model = ModuleRootManager.getInstance(module).getModifiableModel();
final LibraryTable.ModifiableModel modifiableModel = model.getModuleLibraryTable().getModifiableModel();
final Library library = modifiableModel.createLibrary("junit");
final Library.ModifiableModel libModel = library.getModifiableModel();
libModel.addRoot(VfsUtil.getUrlForLibraryRoot(new File(PathUtil.getJarPathForClass(Before.class))), OrderRootType.CLASSES);
libModel.commit();
model.commit();
}
});
final String url = VfsUtil.getUrlForLibraryRoot(new File(PathUtil.getJarPathForClass(Before.class)));
ModuleRootModificationUtil.addModuleLibrary(module, url);
return module;
}
@@ -18,15 +18,16 @@ package com.intellij.refactoring;
import com.intellij.JavaTestUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileAdapter;
import com.intellij.openapi.vfs.VirtualFileEvent;
import com.intellij.openapi.vfs.VirtualFileManager;
import com.intellij.psi.*;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiPackage;
import com.intellij.refactoring.move.moveClassesOrPackages.MoveDirectoryWithClassesProcessor;
import com.intellij.testFramework.PsiTestUtil;
import junit.framework.Assert;
import java.util.Arrays;
@@ -113,21 +114,13 @@ public class MovePackageAsDirectoryTest extends MultiFileTestCase {
@Override
protected void prepareProject(VirtualFile rootDir) {
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry contentEntry = rootModel.addContentEntry(rootDir);
PsiTestUtil.addContentRoot(myModule, rootDir);
final VirtualFile[] children = rootDir.getChildren();
for (VirtualFile child : children) {
if (child.getName().startsWith("src")) {
contentEntry.addSourceFolder(child, false);
PsiTestUtil.addSourceRoot(myModule, child);
}
}
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
rootModel.commit();
}
});
}
private class MyPerformAction implements PerformAction {
@@ -27,6 +27,7 @@ import com.intellij.psi.PsiPackage;
import com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesProcessor;
import com.intellij.refactoring.move.moveClassesOrPackages.MultipleRootsMoveDestination;
import com.intellij.JavaTestUtil;
import com.intellij.testFramework.PsiTestUtil;
/**
* @author dsl
@@ -70,21 +71,12 @@ public class MovePackageMultirootTest extends MultiFileTestCase {
@Override
protected void prepareProject(VirtualFile rootDir) {
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
final ContentEntry contentEntry = rootModel.addContentEntry(rootDir);
PsiTestUtil.addContentRoot(myModule, rootDir);
final VirtualFile[] children = rootDir.getChildren();
for (int i = 0; i < children.length; i++) {
VirtualFile child = children[i];
for (VirtualFile child : children) {
if (child.getName().startsWith("src")) {
contentEntry.addSourceFolder(child, false);
PsiTestUtil.addSourceRoot(myModule, child);
}
}
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
rootModel.commit();
}
});
}
}
@@ -27,7 +27,6 @@ import com.intellij.openapi.roots.*;
import com.intellij.openapi.roots.ex.ProjectRootManagerEx;
import com.intellij.openapi.roots.impl.DirectoryIndex;
import com.intellij.openapi.roots.impl.DirectoryInfo;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.util.EmptyRunnable;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.*;
@@ -38,10 +37,7 @@ import com.intellij.util.containers.ContainerUtil;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.*;
@PlatformTestCase.WrapInCommand
public class DirectoryIndexImplTest extends IdeaTestCase {
@@ -134,17 +130,11 @@ public class DirectoryIndexImplTest extends IdeaTestCase {
VirtualFile moduleFile = myModule2Dir.createChildData(null, "module2.iml");
myModule2 = moduleManager.newModule(moduleFile.getPath(), StdModuleTypes.JAVA.getId());
ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule2).getModifiableModel();
ContentEntry contentEntry = rootModel.addContentEntry(myModule2Dir);
contentEntry.addSourceFolder(mySrcDir2, false);
contentEntry.addExcludeFolder(myExcludeDir);
Library.ModifiableModel libraryModel = rootModel.getModuleLibraryTable().createLibrary().getModifiableModel();
libraryModel.addRoot(myLibClsDir, OrderRootType.CLASSES);
libraryModel.addRoot(myLibSrcDir, OrderRootType.SOURCES);
libraryModel.commit();
rootModel.commit();
PsiTestUtil.addContentRoot(myModule2, myModule2Dir);
PsiTestUtil.addSourceRoot(myModule2, mySrcDir2);
PsiTestUtil.addExcludedRoot(myModule2, myExcludeDir);
ModuleRootModificationUtil.addModuleLibrary(myModule2, "lib", Collections.singletonList(myLibClsDir.getUrl()),
Collections.singletonList(myLibSrcDir.getUrl()));
}
// fill roots of module3
@@ -255,10 +245,7 @@ public class DirectoryIndexImplTest extends IdeaTestCase {
newDir.createChildDirectory(null, "subdir");
myIndex.checkConsistency();
ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
rootModel.addContentEntry(newDir);
rootModel.commit();
PsiTestUtil.addContentRoot(myModule, newDir);
}
}.execute().throwException();
@@ -304,9 +291,7 @@ public class DirectoryIndexImplTest extends IdeaTestCase {
newModuleContent.createChildDirectory(null, "subDir");
ModuleManager moduleManager = ModuleManager.getInstance(myProject);
Module module = moduleManager.newModule(myRootVFile.getPath() + "/newModule.iml", StdModuleTypes.JAVA.getId());
ModifiableRootModel rootModel = ModuleRootManager.getInstance(module).getModifiableModel();
rootModel.addContentEntry(newModuleContent);
rootModel.commit();
PsiTestUtil.addContentRoot(module, newModuleContent);
}
}.execute().throwException();
@@ -315,20 +300,7 @@ public class DirectoryIndexImplTest extends IdeaTestCase {
}
public void testExplicitExcludeOfInner() throws Exception {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
ContentEntry[] contentEntries = rootModel.getContentEntries();
assertEquals(1, contentEntries.length);
ContentEntry contentEntry = contentEntries[0];
contentEntry.addExcludeFolder(myModule2Dir);
rootModel.commit();
}
});
PsiTestUtil.addExcludedRoot(myModule, myModule2Dir);
myIndex.checkConsistency();
@@ -373,28 +345,12 @@ public class DirectoryIndexImplTest extends IdeaTestCase {
CompilerProjectExtension.getInstance(myProject).setCompilerOutputUrl(projectOutput.getUrl());
final VirtualFile finalExcluded = excluded;
final VirtualFile finalModule2Output = module2Output;
final VirtualFile finalModule2TestOutput = module2TestOutput;
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
ModifiableRootModel m = ModuleRootManager.getInstance(myModule).getModifiableModel();
ContentEntry[] ee = m.getContentEntries();
assertEquals(1, ee.length);
ee[0].addExcludeFolder(finalExcluded);
m.commit();
m = ModuleRootManager.getInstance(myModule2).getModifiableModel();
final CompilerModuleExtension compilerModuleExtension = m.getModuleExtension(CompilerModuleExtension.class);
compilerModuleExtension.setCompilerOutputPath(finalModule2Output);
compilerModuleExtension.setCompilerOutputPathForTests(finalModule2TestOutput);
compilerModuleExtension.setExcludeOutput(true);
compilerModuleExtension.inheritCompilerOutputPath(false);
m.commit();
}
});
PsiTestUtil.addExcludedRoot(myModule, excluded);
PsiTestUtil.setCompilerOutputPath(myModule2, module2Output.getUrl(), false);
PsiTestUtil.setCompilerOutputPath(myModule2, module2TestOutput.getUrl(), true);
PsiTestUtil.setExcludeCompileOutput(myModule2, true);
assertNull(myIndex.getInfoForDirectory(excluded));
assertNull(myIndex.getInfoForDirectory(projectOutput));
@@ -439,16 +395,10 @@ public class DirectoryIndexImplTest extends IdeaTestCase {
public void testExcludesShouldBeRecognizedRightOnRefresh() throws Exception {
final VirtualFile dir = myModule1Dir.createChildDirectory(null, "dir");
final VirtualFile excluded = dir.createChildDirectory(null, "excluded");
PsiTestUtil.addExcludedRoot(myModule, excluded);
new WriteCommandAction.Simple(getProject()) {
@Override
protected void run() throws Throwable {
ModifiableRootModel m = ModuleRootManager.getInstance(myModule).getModifiableModel();
ContentEntry[] ee = m.getContentEntries();
assertEquals(1, ee.length);
ee[0].addExcludeFolder(excluded);
m.commit();
dir.delete(null);
}
}.execute().throwException();
@@ -483,7 +433,6 @@ public class DirectoryIndexImplTest extends IdeaTestCase {
public void testProcessingNestedContentRootsOfExcludedDirsOnCreation() {
String rootPath = myModule1Dir.getPath();
final File f = new File(rootPath, "excludedDir/dir/anotherContentRoot");
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
@@ -507,17 +456,7 @@ public class DirectoryIndexImplTest extends IdeaTestCase {
}
public void testLibraryDirInContent() throws Exception {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
ModifiableRootModel rootModel = ModuleRootManager.getInstance(myModule).getModifiableModel();
Library.ModifiableModel libraryModel = rootModel.getModuleLibraryTable().createLibrary().getModifiableModel();
libraryModel.addRoot(myModule1Dir, OrderRootType.CLASSES);
libraryModel.commit();
rootModel.commit();
}
});
ModuleRootModificationUtil.addModuleLibrary(myModule, myModule1Dir.getUrl());
myIndex.checkConsistency();
@@ -28,6 +28,7 @@ import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiClass;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.testFramework.IdeaTestCase;
import com.intellij.testFramework.PsiTestUtil;
import java.io.File;
@@ -72,16 +73,9 @@ public class ExportingModulesTest extends IdeaTestCase {
});
}
private void configureModule(final Module module, final VirtualFile testRoot, final String name) {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
final ModifiableRootModel rootModel = ModuleRootManager.getInstance(module).getModifiableModel();
final VirtualFile contentRoot = testRoot.findChild(name);
final ContentEntry contentEntry = rootModel.addContentEntry(contentRoot);
contentEntry.addSourceFolder(contentRoot.findChild("src"), false);
rootModel.commit();
}
});
private static void configureModule(final Module module, final VirtualFile testRoot, final String name) {
final VirtualFile contentRoot = testRoot.findChild(name);
PsiTestUtil.addContentRoot(module, contentRoot);
PsiTestUtil.addSourceRoot(module, contentRoot.findChild("src"));
}
}
@@ -1,11 +1,10 @@
package com.intellij.roots;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkModificator;
import com.intellij.openapi.roots.*;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar;
import com.intellij.openapi.vfs.JarFileSystem;
@@ -71,30 +70,10 @@ public abstract class ModuleRootManagerTestCase extends ModuleTestCase {
protected VirtualFile setModuleOutput(final Module module, final boolean test) throws IOException {
final VirtualFile output = getVirtualFile(createTempDir(module.getName() + (test ? "Test" : "Prod") + "Output"));
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
final ModifiableRootModel model = ModuleRootManager.getInstance(module).getModifiableModel();
final CompilerModuleExtension extension = model.getModuleExtension(CompilerModuleExtension.class);
assertNotNull(extension);
extension.inheritCompilerOutputPath(false);
if (test) {
extension.setCompilerOutputPathForTests(output);
}
else {
extension.setCompilerOutputPath(output);
}
model.commit();
}
});
PsiTestUtil.setCompilerOutputPath(module, output != null ? output.getUrl() : null, test);
return output;
}
protected Library createLibrary(final String name, final VirtualFile classesRoot) {
return createLibrary(name, classesRoot, null);
}
protected Library createLibrary(final String name, final VirtualFile classesRoot, final VirtualFile sourceRoot) {
final Library library = LibraryTablesRegistrar.getInstance().getLibraryTable(myProject).createLibrary(name);
final Library.ModifiableModel model = library.getModifiableModel();
@@ -17,6 +17,7 @@ import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.testFramework.ModuleTestCase;
import com.intellij.ide.highlighter.ModuleFileType;
import com.intellij.testFramework.PsiTestUtil;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;
@@ -79,23 +80,13 @@ public class ModuleRootsExternalizationTest extends ModuleTestCase {
final ModuleRootManagerImpl moduleRootManager =
(ModuleRootManagerImpl)ModuleRootManager.getInstance(module);
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
final ModifiableRootModel rootModel = moduleRootManager.getModifiableModel();
final ContentEntry contentEntry = rootModel.addContentEntry(contentFile);
final CompilerModuleExtension compilerModuleExtension = rootModel.getModuleExtension(CompilerModuleExtension.class);
compilerModuleExtension.setCompilerOutputPath(classesFile);
compilerModuleExtension.setCompilerOutputPathForTests(testClassesFile);
compilerModuleExtension.inheritCompilerOutputPath(false);
rootModel.setSdk(JavaSdkImpl.getMockJdk17());
contentEntry.addSourceFolder(sourceFile, false);
contentEntry.addSourceFolder(testSourceFile, true);
contentEntry.addExcludeFolder(excludeFile);
rootModel.commit();
}
});
PsiTestUtil.addContentRoot(module, contentFile);
PsiTestUtil.addSourceRoot(module, sourceFile);
PsiTestUtil.addSourceRoot(module, testSourceFile, true);
ModuleRootModificationUtil.setModuleSdk(module, JavaSdkImpl.getMockJdk17());
PsiTestUtil.addExcludedRoot(module, excludeFile);
PsiTestUtil.setCompilerOutputPath(module, classesFile.getUrl(), false);
PsiTestUtil.setCompilerOutputPath(module, testClassesFile.getUrl(), true);
final Element element = new Element("root");
moduleRootManager.getState().writeExternal(element);
@@ -4,7 +4,6 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.StdModuleTypes;
import com.intellij.openapi.roots.*;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.testFramework.ModuleTestCase;
import com.intellij.testFramework.PsiTestUtil;
@@ -12,6 +11,7 @@ import com.intellij.testFramework.fixtures.impl.LightTempDirTestFixtureImpl;
import com.intellij.util.PathsList;
import java.io.IOException;
import java.util.Collections;
/**
* @author yole
@@ -86,13 +86,8 @@ public class ModuleScopesTest extends ModuleTestCase {
ModuleRootModificationUtil.addDependency(moduleA, moduleB, scope, false);
final ModifiableRootModel modelB = ModuleRootManager.getInstance(moduleB).getModifiableModel();
final ContentEntry contentEntry = modelB.addContentEntry(rootB);
contentEntry.addSourceFolder(rootB, false);
final CompilerModuleExtension extension = modelB.getModuleExtension(CompilerModuleExtension.class);
extension.inheritCompilerOutputPath(false);
extension.setCompilerOutputPath(outB);
modelB.commit();
PsiTestUtil.addSourceRoot(moduleB, rootB);
PsiTestUtil.setCompilerOutputPath(moduleB, outB.getUrl(), false);
}
});
@@ -187,20 +182,8 @@ public class ModuleScopesTest extends ModuleTestCase {
private VirtualFile addLibrary(final Module m, final DependencyScope scope) {
final VirtualFile libraryRoot = myFixture.findOrCreateDir("lib");
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
final ModifiableRootModel model = ModuleRootManager.getInstance(m).getModifiableModel();
final Library library = model.getModuleLibraryTable().createLibrary("l");
final Library.ModifiableModel libraryModel = library.getModifiableModel();
libraryModel.addRoot(libraryRoot, OrderRootType.CLASSES);
libraryModel.commit();
model.findLibraryOrderEntry(library).setScope(scope);
model.commit();
}
});
ModuleRootModificationUtil.addModuleLibrary(m, "l", Collections.singletonList(libraryRoot.getUrl()),
Collections.<String>emptyList(), scope);
return libraryRoot;
}
@@ -2,12 +2,11 @@ package com.intellij.roots;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.roots.CompilerModuleExtension;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.testFramework.PsiTestCase;
import com.intellij.testFramework.PsiTestUtil;
import java.io.File;
@@ -36,27 +35,13 @@ public class RootsTest extends PsiTestCase {
final ModuleRootManager rootManager = ModuleRootManager.getInstance(myModule);
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
final ModifiableRootModel rootModel = rootManager.getModifiableModel();
rootModel.addContentEntry(rootFile);
rootModel.getModuleExtension(CompilerModuleExtension.class).inheritCompilerOutputPath(false);
rootModel.getModuleExtension(CompilerModuleExtension.class).setCompilerOutputPath(classesFile);
rootModel.getModuleExtension(CompilerModuleExtension.class).setExcludeOutput(false);
rootModel.commit();
}
});
PsiTestUtil.addContentRoot(myModule, rootFile);
PsiTestUtil.setCompilerOutputPath(myModule, classesFile.getUrl(), false);
PsiTestUtil.setExcludeCompileOutput(myModule, false);
assertTrue(rootManager.getFileIndex().isInContent(childOfContent));
assertTrue(rootManager.getFileIndex().isInContent(childOfClasses));
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
final ModifiableRootModel rootModel = rootManager.getModifiableModel();
rootModel.getModuleExtension(CompilerModuleExtension.class).setExcludeOutput(true);
rootModel.commit();
}
});
PsiTestUtil.setExcludeCompileOutput(myModule, true);
assertTrue(rootManager.getFileIndex().isInContent(childOfContent));
assertFalse(rootManager.getFileIndex().isInContent(childOfClasses));
}
@@ -56,9 +56,7 @@ public class LibraryTest extends IdeaTestCase {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
final LibraryTable.ModifiableModel modifiableModel = libraryTable.getModifiableModel();
modifiableModel.removeLibrary(library);
modifiableModel.commit();
libraryTable.removeLibrary(library);
}
});
}