A method to find local VirtualFile for Kotlin runtime library

This commit is contained in:
Andrey Breslav
2013-01-25 16:37:19 +04:00
parent e15953b9fc
commit c662f51a0a
@@ -232,12 +232,8 @@ public class KotlinRuntimeLibraryUtil {
jarNotFoundHandler.run();
return;
}
VirtualFile runtimeJar = getKotlinRuntimeJar(project);
VirtualFile runtimeJar = getLocalKotlinRuntimeJar(project);
assert runtimeJar != null;
VirtualFile jarFile = JarFileSystem.getInstance().getVirtualFileForJar(runtimeJar);
if (jarFile != null) {
runtimeJar = jarFile;
}
try {
FileUtil.copy(runtimePath, new File(runtimeJar.getPath()));
@@ -278,6 +274,18 @@ public class KotlinRuntimeLibraryUtil {
return null;
}
@Nullable
public static VirtualFile getLocalKotlinRuntimeJar(@NotNull Project project) {
VirtualFile kotlinRuntimeJar = getKotlinRuntimeJar(project);
if (kotlinRuntimeJar == null) return null;
VirtualFile localJarFile = JarFileSystem.getInstance().getVirtualFileForJar(kotlinRuntimeJar);
if (localJarFile != null) {
return localJarFile;
}
return kotlinRuntimeJar;
}
public static abstract class FindRuntimeLibraryHandler {
@Nullable
public abstract File getRuntimeJarPath();