From 9afba6b56e4dbd07c4697fe5f98bb68727d34839 Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Mon, 9 Dec 2013 15:02:34 +0400 Subject: [PATCH] IDEA-117317 Groovy SDK is not configured, if groovy-jar has name "groovy-all.jar" --- .../plugins/groovy/config/GroovyConfigUtils.java | 12 ++++-------- .../jetbrains/plugins/groovy/util/LibrariesUtil.java | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/config/GroovyConfigUtils.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/config/GroovyConfigUtils.java index f4f405dce10c..0c405f367d38 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/config/GroovyConfigUtils.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/config/GroovyConfigUtils.java @@ -46,11 +46,9 @@ import java.util.regex.Pattern; * @author ilyas */ public abstract class GroovyConfigUtils extends AbstractConfigUtils { - @NonNls private static final Pattern GROOVY_ALL_JAR_PATTERN = Pattern.compile("groovy-all-(.*)\\.jar"); - private static GroovyConfigUtils myGroovyConfigUtils; + @NonNls public static final Pattern GROOVY_ALL_JAR_PATTERN = Pattern.compile("groovy-all(-(.*))?\\.jar"); + @NonNls public static final Pattern GROOVY_JAR_PATTERN = Pattern.compile("groovy(-(\\d.*))?\\.jar"); - @NonNls public static final String GROOVY_JAR_PATTERN_NOVERSION = "groovy\\.jar"; - @NonNls public static final String GROOVY_JAR_PATTERN = "groovy-(\\d.*)\\.jar"; public static final String NO_VERSION = ""; public static final String GROOVY1_7 = "1.7"; public static final String GROOVY1_8 = "1.8"; @@ -58,6 +56,8 @@ public abstract class GroovyConfigUtils extends AbstractConfigUtils { public static final String GROOVY2_1 = "2.1"; public static final String GROOVY2_2 = "2.2"; + private static GroovyConfigUtils myGroovyConfigUtils; + private GroovyConfigUtils() { } @@ -83,9 +83,6 @@ public abstract class GroovyConfigUtils extends AbstractConfigUtils { @NotNull public String getSDKVersion(@NotNull final String path) { String groovyJarVersion = getSDKJarVersion(path + "/lib", GROOVY_JAR_PATTERN, MANIFEST_PATH); - if (groovyJarVersion == null) { - groovyJarVersion = getSDKJarVersion(path + "/lib", GROOVY_JAR_PATTERN_NOVERSION, MANIFEST_PATH); - } if (groovyJarVersion == null) { groovyJarVersion = getSDKJarVersion(path + "/lib", GROOVY_ALL_JAR_PATTERN, MANIFEST_PATH); } @@ -143,7 +140,6 @@ public abstract class GroovyConfigUtils extends AbstractConfigUtils { if (file != null && file.isDirectory()) { final String path = file.getPath(); if (GroovyUtils.getFilesInDirectoryByPattern(path + "/lib", GROOVY_JAR_PATTERN).length > 0 || - GroovyUtils.getFilesInDirectoryByPattern(path + "/lib", GROOVY_JAR_PATTERN_NOVERSION).length > 0 || GroovyUtils.getFilesInDirectoryByPattern(path + "/embeddable", GROOVY_ALL_JAR_PATTERN).length > 0 || GroovyUtils.getFilesInDirectoryByPattern(path, GROOVY_JAR_PATTERN).length > 0) { return true; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/util/LibrariesUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/util/LibrariesUtil.java index 3b0560833f78..723f53a0fbe7 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/util/LibrariesUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/util/LibrariesUtil.java @@ -143,7 +143,7 @@ public class LibrariesUtil { private static String getGroovySdkHome(VirtualFile[] classRoots) { for (VirtualFile file : classRoots) { final String name = file.getName(); - if (name.matches(GroovyConfigUtils.GROOVY_JAR_PATTERN_NOVERSION) || name.matches(GroovyConfigUtils.GROOVY_JAR_PATTERN)) { + if (GroovyConfigUtils.GROOVY_JAR_PATTERN.matcher(name).matches()) { String jarPath = file.getPresentableUrl(); File realFile = new File(jarPath); if (realFile.exists()) {