@Override public MultiMap<JpsModuleSourceRootType<?>, String> getSourceFolders() { MultiMap<JpsModuleSourceRootType<?>, String> res = new MultiMap<JpsModuleSourceRootType<?>, String>(); for (VirtualFile root : ModuleRootManager.getInstance(myModule).getContentRoots()) { VirtualFile srcDir = root.findChild("src"); if (srcDir != null) { for (String child : SRC_DIR_SUBFOLDER) { if (srcDir.findChild(child) != null) { res.putValue(JavaSourceRootType.SOURCE, "src/" + child); } } } VirtualFile griffonApp = root.findChild("griffon-app"); if (griffonApp != null) { for (String child : GRIFFON_APP_SOURCE_ROOTS) { if (griffonApp.findChild(child) != null) { res.putValue(JavaSourceRootType.SOURCE, "griffon-app/" + child); } } for (VirtualFile child : root.getChildren()) { if (child.getNameWithoutExtension().endsWith("GriffonAddon")) { res.putValue(JavaSourceRootType.SOURCE, ""); break; } } } List<GriffonSourceInspector.GriffonSource> sources = GriffonSourceInspector.processModuleMetadata(myModule); for (GriffonSourceInspector.GriffonSource source : sources) { res.putValue(JavaSourceRootType.SOURCE, source.getPath()); } VirtualFile testDir = root.findChild("test"); if (testDir != null) { for (String child : TEST_DIRS) { if (testDir.findChild(child) != null) { res.putValue(JavaSourceRootType.TEST_SOURCE, "test/" + child); } } } } return res; }
public String[] getSourceFolders() { List<String> sourceFolders = new ArrayList<String>(); for (VirtualFile file : ModuleRootManager.getInstance(myModule).getContentRoots()) { handleSrc(file.findChild("src"), sourceFolders); VirtualFile griffonApp = file.findChild("griffon-app"); handleGriffonApp(griffonApp, sourceFolders); List<GriffonSourceInspector.GriffonSource> sources = GriffonSourceInspector.processModuleMetadata(myModule); for (GriffonSourceInspector.GriffonSource source : sources) { sourceFolders.add(source.getPath()); } if (griffonApp != null) { for (VirtualFile child : file.getChildren()) { if (child.getNameWithoutExtension().endsWith("GriffonAddon")) { sourceFolders.add(""); break; } } } } return sourceFolders.toArray(new String[sourceFolders.size()]); }