import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.module.StdModuleTypes;
-import com.intellij.openapi.roots.impl.ModifiableModelCommitter;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.*;
+import com.intellij.openapi.roots.impl.ModifiableModelCommitter;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.libraries.LibraryTable;
import com.intellij.openapi.roots.libraries.LibraryUtil;
removeSrcFolderFromRoots(root.findFileByRelativePath(src), actions, sourceRoots);
}
- for (final String excluded : structure.getExcludedFolders()) {
- final VirtualFile src = root.findFileByRelativePath(excluded);
-
- if (src != null && moduleRootManager.getFileIndex().isInContent(src)) {
+ for (final VirtualFile excluded : structure.getExcludedFolders(root)) {
+ if (moduleRootManager.getFileIndex().isInContent(excluded)) {
actions.add(new Consumer<ContentEntry>() {
public void consume(ContentEntry contentEntry) {
- contentEntry.addExcludeFolder(src);
+ contentEntry.addExcludeFolder(excluded);
}
});
}
import org.jetbrains.annotations.NotNull;
import java.io.File;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
/**
* @author peter
public abstract String[] getSourceFolders();
public abstract String[] getTestFolders();
public abstract String[] getInvalidSourceFolders();
+
public abstract String[] getExcludedFolders();
+ public List<VirtualFile> getExcludedFolders(@NotNull VirtualFile root) {
+ List<VirtualFile> res = new ArrayList<VirtualFile>();
+
+ for (final String excluded : getExcludedFolders()) {
+ VirtualFile dir = root.findFileByRelativePath(excluded);
+ if (dir != null) {
+ res.add(dir);
+ }
+ }
+
+ return res;
+ }
+
public void setupFacets(Collection<Runnable> actions, Collection<VirtualFile> roots) {
}