Don't detect libraries in maven, gradle and ide systems as runtime libraries
#KT-11072 Fixed #KT-10918 Fixed
This commit is contained in:
@@ -71,11 +71,13 @@ public class JSLibraryStdPresentationProvider extends LibraryPresentationProvide
|
||||
|
||||
@Nullable
|
||||
public static VirtualFile getJsStdLibJar(@NotNull Library library) {
|
||||
return LibraryUtils.getJarFile(Arrays.asList(library.getFiles(OrderRootType.CLASSES)), PathUtil.JS_LIB_JAR_NAME);
|
||||
return LibraryPresentationProviderUtil.isExternalLibrary(library) ? null :
|
||||
LibraryUtils.getJarFile(Arrays.asList(library.getFiles(OrderRootType.CLASSES)), PathUtil.JS_LIB_JAR_NAME);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static VirtualFile getJsStdLibSrcJar(@NotNull Library library) {
|
||||
return LibraryUtils.getJarFile(Arrays.asList(library.getFiles(OrderRootType.SOURCES)), PathUtil.JS_LIB_SRC_JAR_NAME);
|
||||
return LibraryPresentationProviderUtil.isExternalLibrary(library) ? null :
|
||||
LibraryUtils.getJarFile(Arrays.asList(library.getFiles(OrderRootType.SOURCES)), PathUtil.JS_LIB_SRC_JAR_NAME);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,21 +61,25 @@ public class JavaRuntimePresentationProvider extends LibraryPresentationProvider
|
||||
|
||||
@Nullable
|
||||
public static VirtualFile getRuntimeJar(@NotNull Library library) {
|
||||
return JavaRuntimeDetectionUtil.getRuntimeJar(Arrays.asList(library.getFiles(OrderRootType.CLASSES)));
|
||||
return LibraryPresentationProviderUtil.isExternalLibrary(library) ? null :
|
||||
JavaRuntimeDetectionUtil.getRuntimeJar(Arrays.asList(library.getFiles(OrderRootType.CLASSES)));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static VirtualFile getReflectJar(@NotNull Library library) {
|
||||
return LibraryUtils.getJarFile(Arrays.asList(library.getFiles(OrderRootType.CLASSES)), PathUtil.KOTLIN_JAVA_REFLECT_JAR);
|
||||
return LibraryPresentationProviderUtil.isExternalLibrary(library) ? null :
|
||||
LibraryUtils.getJarFile(Arrays.asList(library.getFiles(OrderRootType.CLASSES)), PathUtil.KOTLIN_JAVA_REFLECT_JAR);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static VirtualFile getRuntimeSrcJar(@NotNull Library library) {
|
||||
return getRuntimeSrcJar(Arrays.asList(library.getFiles(OrderRootType.SOURCES)));
|
||||
return LibraryPresentationProviderUtil.isExternalLibrary(library) ? null :
|
||||
getRuntimeSrcJar(Arrays.asList(library.getFiles(OrderRootType.SOURCES)));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static VirtualFile getTestJar(@NotNull Library library) {
|
||||
return LibraryUtils.getJarFile(Arrays.asList(library.getFiles(OrderRootType.CLASSES)), PathUtil.KOTLIN_TEST_JAR);
|
||||
return LibraryPresentationProviderUtil.isExternalLibrary(library) ? null :
|
||||
LibraryUtils.getJarFile(Arrays.asList(library.getFiles(OrderRootType.CLASSES)), PathUtil.KOTLIN_TEST_JAR);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.framework;
|
||||
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.roots.libraries.Library;
|
||||
import com.intellij.openapi.roots.libraries.LibraryPresentationProvider;
|
||||
@@ -34,6 +36,16 @@ public class LibraryPresentationProviderUtil {
|
||||
|
||||
@Nullable
|
||||
public static <LP extends LibraryProperties> LP getLibraryProperties(@NotNull LibraryPresentationProvider<LP> provider, @NotNull Library library) {
|
||||
if (isExternalLibrary(library)) return null;
|
||||
return provider.detect(Arrays.asList(library.getFiles(OrderRootType.CLASSES)));
|
||||
}
|
||||
|
||||
private static final ProjectSystemId MAVEN_SYSTEM_ID = new ProjectSystemId("MAVEN");
|
||||
private static final ProjectSystemId GRADLE_SYSTEM_ID = new ProjectSystemId("GRADLE");
|
||||
|
||||
public static boolean isExternalLibrary(@NotNull Library library) {
|
||||
return ExternalSystemApiUtil.isExternalSystemLibrary(library, ProjectSystemId.IDE) ||
|
||||
ExternalSystemApiUtil.isExternalSystemLibrary(library, GRADLE_SYSTEM_ID) ||
|
||||
ExternalSystemApiUtil.isExternalSystemLibrary(library, MAVEN_SYSTEM_ID);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,9 +64,7 @@ fun getLibraryRootsWithAbiIncompatibleForKotlinJs(module: Module): Collection<Vi
|
||||
}
|
||||
|
||||
|
||||
fun updateLibraries(
|
||||
project: Project,
|
||||
libraries: Collection<Library>) {
|
||||
fun updateLibraries(project: Project, libraries: Collection<Library>) {
|
||||
ApplicationManager.getApplication().invokeLater {
|
||||
val kJvmConfigurator = getConfiguratorByName(KotlinJavaModuleConfigurator.NAME) as KotlinJavaModuleConfigurator? ?:
|
||||
error("Configurator with given name doesn't exists: " + KotlinJavaModuleConfigurator.NAME)
|
||||
|
||||
Reference in New Issue
Block a user