IDEA-117317 Groovy SDK is not configured, if groovy-jar has name "groovy-all.jar"

This commit is contained in:
Max Medvedev
2013-12-09 18:58:59 +04:00
parent 30ea87ee01
commit 9afba6b56e
2 changed files with 5 additions and 9 deletions
@@ -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 = "<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;
@@ -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()) {