mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
groovy: do not hardcode path to groovy-all.jar
Locate it via classloader instead. If paths to JAR files are hardcoded tests will break when corresponding libraries are converted to repository libraries.
This commit is contained in:
@@ -16,7 +16,6 @@
|
||||
package org.jetbrains.plugins.groovy.config;
|
||||
|
||||
import com.intellij.openapi.application.PathManager;
|
||||
import com.intellij.openapi.application.PluginPathManager;
|
||||
import com.intellij.openapi.application.WriteAction;
|
||||
import com.intellij.openapi.module.JavaModuleType;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -27,14 +26,12 @@ import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.roots.ModuleRootManager;
|
||||
import com.intellij.openapi.roots.libraries.Library;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.util.PathUtil;
|
||||
import icons.JetgroovyIcons;
|
||||
import org.codehaus.groovy.runtime.DefaultGroovyMethods;
|
||||
import org.jetbrains.plugins.groovy.GroovyBundle;
|
||||
import org.jetbrains.plugins.groovy.util.LibrariesUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class GroovyFacetUtil {
|
||||
public static final String PLUGIN_MODULE_ID = "PLUGIN_MODULE";
|
||||
@@ -72,15 +69,10 @@ public class GroovyFacetUtil {
|
||||
}
|
||||
|
||||
public static File getBundledGroovyJar() {
|
||||
final File[] groovyJars = LibrariesUtil.getFilesInDirectoryByPattern(getLibDirectory(), GroovyConfigUtils.GROOVY_ALL_JAR_PATTERN);
|
||||
assert groovyJars.length == 1 : Arrays.asList(groovyJars);
|
||||
return groovyJars[0];
|
||||
}
|
||||
|
||||
public static String getLibDirectory() {
|
||||
if (new File(PathUtil.getJarPathForClass(GroovyFacetUtil.class)).isDirectory()) {
|
||||
return FileUtil.toCanonicalPath(PluginPathManager.getPluginHomePath("groovy") + "/../../lib/");
|
||||
}
|
||||
return PathManager.getHomePath() + "/lib/";
|
||||
String jarPath = PathManager.getJarPathForClass(DefaultGroovyMethods.class);
|
||||
assert jarPath != null : "Cannot find JAR containing groovy classes";
|
||||
File jar = new File(jarPath);
|
||||
assert GroovyConfigUtils.GROOVY_ALL_JAR_PATTERN.matcher(jar.getName()).matches() : "Incorrect path to groovy JAR: " + jarPath;
|
||||
return jar;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user