From 8a99796d38cf04f79039ee9b04d7141c80bdeee6 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 20 Dec 2009 21:20:52 +0000 Subject: [PATCH] bring back add framework support for gradle, don't recognize it as groovy --- .../groovy/config/ui/GroovyFacetEditor.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/config/ui/GroovyFacetEditor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/config/ui/GroovyFacetEditor.java index 6abc0e7a4acc..644d4dfb25b1 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/config/ui/GroovyFacetEditor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/config/ui/GroovyFacetEditor.java @@ -26,6 +26,7 @@ import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContaine import com.intellij.openapi.ui.TextFieldWithBrowseButton; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.ui.DocumentAdapter; import org.jetbrains.annotations.NonNls; @@ -211,11 +212,22 @@ public class GroovyFacetEditor { @Nullable private static AbstractGroovyLibraryManager findManager(VirtualFile dir) { - for (AbstractGroovyLibraryManager manager : AbstractGroovyLibraryManager.EP_NAME.getExtensions()) { + if (GroovyUtils.getFilesInDirectoryByPattern(dir.getPath() + "/lib", "groovy.*\\.jar").length == 0) { + return null; + } + + final String name = dir.getName(); + + final AbstractGroovyLibraryManager[] managers = AbstractGroovyLibraryManager.EP_NAME.getExtensions(); + for (final AbstractGroovyLibraryManager manager : managers) { + if (StringUtil.startsWithIgnoreCase(name, manager.getLibraryPrefix())) { + return manager; + } + } + + for (final AbstractGroovyLibraryManager manager : managers) { if (manager.isSDKHome(dir)) { - if (GroovyUtils.getFilesInDirectoryByPattern(dir.getPath() + "/lib", "groovy.*\\.jar").length > 0) { - return manager; - } + return manager; } } return null;