protected void assertModuleLibDep( String moduleName, String depName, String classesPath, String sourcePath, String javadocPath) { LibraryOrderEntry lib = getModuleLibDep(moduleName, depName); assertModuleLibDepPath( lib, OrderRootType.CLASSES, classesPath == null ? null : Collections.singletonList(classesPath)); assertModuleLibDepPath( lib, OrderRootType.SOURCES, sourcePath == null ? null : Collections.singletonList(sourcePath)); assertModuleLibDepPath( lib, JavadocOrderRootType.getInstance(), javadocPath == null ? null : Collections.singletonList(javadocPath)); }
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; } }); }
protected void importProjectWithProfiles(String... profiles) { doImportProjects(Collections.singletonList(myProjectPom), profiles); }