protected void readProjects(VirtualFile... files) { List<MavenProject> projects = new ArrayList<MavenProject>(); for (VirtualFile each : files) { projects.add(myProjectsManager.findProject(each)); } myProjectsManager.forceUpdateProjects(projects); waitForReadingCompletion(); }
public void assertProjectLibraries(String... expectedNames) { List<String> actualNames = new ArrayList<String>(); for (Library each : ProjectLibraryTable.getInstance(myProject).getLibraries()) { String name = each.getName(); actualNames.add(name == null ? "<unnamed>" : name); } assertUnorderedElementsAreEqual(actualNames, expectedNames); }
protected void assertModules(String... expectedNames) { Module[] actual = ModuleManager.getInstance(myProject).getModules(); List<String> actualNames = new ArrayList<String>(); for (Module m : actual) { actualNames.add(m.getName()); } assertUnorderedElementsAreEqual(actualNames, expectedNames); }
private List<String> collectModuleDepsNames(String moduleName, Class clazz) { List<String> actual = new ArrayList<String>(); for (OrderEntry e : getRootManager(moduleName).getOrderEntries()) { if (clazz.isInstance(e)) { actual.add(e.getPresentableName()); } } return actual; }
private ContentEntry getContentRoot(String moduleName) { ContentEntry[] ee = getContentRoots(moduleName); List<String> roots = new ArrayList<String>(); for (ContentEntry e : ee) { roots.add(e.getUrl()); } String message = "Several content roots found: [" + StringUtil.join(roots, ", ") + "]"; assertEquals(message, 1, ee.length); return ee[0]; }
protected void assertContentRoots(String moduleName, String... expectedRoots) { List<String> actual = new ArrayList<String>(); for (ContentEntry e : getContentRoots(moduleName)) { actual.add(e.getUrl()); } for (int i = 0; i < expectedRoots.length; i++) { expectedRoots[i] = VfsUtil.pathToUrl(expectedRoots[i]); } assertUnorderedPathsAreEqual(actual, Arrays.asList(expectedRoots)); }
protected void assertGeneratedSources(String moduleName, String... expectedSources) { ContentEntry contentRoot = getContentRoot(moduleName); List<ContentFolder> folders = new ArrayList<ContentFolder>(); for (SourceFolder folder : contentRoot.getSourceFolders(JavaSourceRootType.SOURCE)) { JavaSourceRootProperties properties = folder.getJpsElement().getProperties(JavaSourceRootType.SOURCE); assertNotNull(properties); if (properties.isForGeneratedSources()) { folders.add(folder); } } doAssertContentFolders(contentRoot, folders, expectedSources); }
private static void doAssertContentFolders( ContentEntry e, final List<? extends ContentFolder> folders, String... expected) { List<String> actual = new ArrayList<String>(); for (ContentFolder f : folders) { String rootUrl = e.getUrl(); String folderUrl = f.getUrl(); if (folderUrl.startsWith(rootUrl)) { int length = rootUrl.length() + 1; folderUrl = folderUrl.substring(Math.min(length, folderUrl.length())); } actual.add(folderUrl); } assertOrderedElementsAreEqual(actual, Arrays.asList(expected)); }
public static List<MavenImporter> getSuitableImporters(MavenProject p) { List<MavenImporter> result = null; Set<ModuleType> moduleTypes = null; for (MavenImporter importer : EXTENSION_POINT_NAME.getExtensions()) { if (importer.isApplicable(p)) { if (result == null) { result = new ArrayList<MavenImporter>(); moduleTypes = new THashSet<ModuleType>(); } result.add(importer); moduleTypes.add(importer.getModuleType()); } } if (result == null) { return Collections.emptyList(); } if (moduleTypes.size() <= 1) { return result; } // This code is reached when several importers say that they are applicable but they want to // have different module types. // Now we select one module type and return only those importers that are ok with it. // If possible - return at least one importer that explicitly supports packaging of the given // maven project. ModuleType moduleType = result.get(0).getModuleType(); List<String> supportedPackagings = new ArrayList<String>(); for (MavenImporter importer : result) { supportedPackagings.clear(); importer.getSupportedPackagings(supportedPackagings); if (supportedPackagings.contains(p.getPackaging())) { moduleType = importer.getModuleType(); break; } } final ModuleType finalModuleType = moduleType; return ContainerUtil.filter( result, new Condition<MavenImporter>() { public boolean value(final MavenImporter importer) { return importer.getModuleType() == finalModuleType; } }); }