A method to find local VirtualFile for Kotlin runtime library
This commit is contained in:
@@ -232,12 +232,8 @@ public class KotlinRuntimeLibraryUtil {
|
|||||||
jarNotFoundHandler.run();
|
jarNotFoundHandler.run();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
VirtualFile runtimeJar = getKotlinRuntimeJar(project);
|
VirtualFile runtimeJar = getLocalKotlinRuntimeJar(project);
|
||||||
assert runtimeJar != null;
|
assert runtimeJar != null;
|
||||||
VirtualFile jarFile = JarFileSystem.getInstance().getVirtualFileForJar(runtimeJar);
|
|
||||||
if (jarFile != null) {
|
|
||||||
runtimeJar = jarFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
FileUtil.copy(runtimePath, new File(runtimeJar.getPath()));
|
FileUtil.copy(runtimePath, new File(runtimeJar.getPath()));
|
||||||
@@ -278,6 +274,18 @@ public class KotlinRuntimeLibraryUtil {
|
|||||||
return null;
|
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 {
|
public static abstract class FindRuntimeLibraryHandler {
|
||||||
@Nullable
|
@Nullable
|
||||||
public abstract File getRuntimeJarPath();
|
public abstract File getRuntimeJarPath();
|
||||||
|
|||||||
Reference in New Issue
Block a user