private static Collection<? extends PackagingSourceItem> createClasspathItems( ArtifactEditorContext editorContext, Artifact artifact, @NotNull Module module) { final List<PackagingSourceItem> items = new ArrayList<PackagingSourceItem>(); final ModuleRootModel rootModel = editorContext.getModulesProvider().getRootModel(module); List<Library> libraries = new ArrayList<Library>(); for (OrderEntry orderEntry : rootModel.getOrderEntries()) { if (orderEntry instanceof LibraryOrderEntry) { final LibraryOrderEntry libraryEntry = (LibraryOrderEntry) orderEntry; final Library library = libraryEntry.getLibrary(); final DependencyScope scope = libraryEntry.getScope(); if (library != null && scope.isForProductionRuntime()) { libraries.add(library); } } } for (Module toAdd : getNotAddedModules(editorContext, artifact, module)) { items.add(new ModuleOutputSourceItem(toAdd)); } for (Library library : getNotAddedLibraries(editorContext, artifact, libraries)) { items.add(new LibrarySourceItem(library)); } return items; }
private static Collection<? extends PackagingSourceItem> createModuleItems( ArtifactEditorContext editorContext, Artifact artifact, @NotNull String[] groupPath) { final Module[] modules = editorContext.getModulesProvider().getModules(); final List<PackagingSourceItem> items = new ArrayList<PackagingSourceItem>(); Set<String> groups = new HashSet<String>(); for (Module module : modules) { String[] path = ModuleManager.getInstance(editorContext.getProject()).getModuleGroupPath(module); if (path == null) { path = ArrayUtil.EMPTY_STRING_ARRAY; } if (Comparing.equal(path, groupPath)) { items.add(new ModuleSourceItemGroup(module)); } else if (ArrayUtil.startsWith(path, groupPath)) { groups.add(path[groupPath.length]); } } for (String group : groups) { items.add(0, new ModuleGroupItem(ArrayUtil.append(groupPath, group))); } return items; }