void (Element root, String contentUrl, JpsModule model) { for (Element o : root.getChildren(IdeaXml.TEST_FOLDER_TAG)) { final String url = o.getAttributeValue(IdeaXml.URL_ATTR); JpsModuleSourceRoot folderToBeTest = null; for (JpsModuleSourceRoot folder : model.getSourceRoots()) { if (Comparing.strEqual(folder.getUrl(), url)) { folderToBeTest = folder; break; } } if (folderToBeTest != null) { model.removeSourceRoot(folderToBeTest.getUrl(), JavaSourceRootType.SOURCE); } model.addSourceRoot(url, JavaSourceRootType.TEST_SOURCE); } for (Element o : root.getChildren(IdeaXml.EXCLUDE_FOLDER_TAG)) { final String excludeUrl = o.getAttributeValue(IdeaXml.URL_ATTR); if (FileUtil.isAncestor(new File(contentUrl), new File(excludeUrl), false)) { model.getExcludeRootsList().addUrl(excludeUrl); } } for (Element ppElement : root.getChildren(IdeaXml.PACKAGE_PREFIX_TAG)) { final String prefix = ppElement.getAttributeValue(IdeaXml.PACKAGE_PREFIX_VALUE_ATTR); final String url = ppElement.getAttributeValue(IdeaXml.URL_ATTR); for (JpsModuleSourceRoot sourceRoot : model.getSourceRoots()) { if (Comparing.strEqual(sourceRoot.getUrl(), url)) { JpsElement properties = sourceRoot.getProperties(); if (properties instanceof JavaSourceRootProperties) { ((JavaSourceRootProperties)properties).setPackagePrefix(prefix); } break; } } } }