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
|
@Nullable
|
||||||
public static VirtualFile getJsStdLibJar(@NotNull Library library) {
|
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
|
@Nullable
|
||||||
public static VirtualFile getJsStdLibSrcJar(@NotNull Library library) {
|
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
|
@Nullable
|
||||||
public static VirtualFile getRuntimeJar(@NotNull Library library) {
|
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
|
@Nullable
|
||||||
public static VirtualFile getReflectJar(@NotNull Library library) {
|
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
|
@Nullable
|
||||||
public static VirtualFile getRuntimeSrcJar(@NotNull Library library) {
|
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
|
@Nullable
|
||||||
public static VirtualFile getTestJar(@NotNull Library library) {
|
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;
|
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.OrderRootType;
|
||||||
import com.intellij.openapi.roots.libraries.Library;
|
import com.intellij.openapi.roots.libraries.Library;
|
||||||
import com.intellij.openapi.roots.libraries.LibraryPresentationProvider;
|
import com.intellij.openapi.roots.libraries.LibraryPresentationProvider;
|
||||||
@@ -34,6 +36,16 @@ public class LibraryPresentationProviderUtil {
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public static <LP extends LibraryProperties> LP getLibraryProperties(@NotNull LibraryPresentationProvider<LP> provider, @NotNull Library library) {
|
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)));
|
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(
|
fun updateLibraries(project: Project, libraries: Collection<Library>) {
|
||||||
project: Project,
|
|
||||||
libraries: Collection<Library>) {
|
|
||||||
ApplicationManager.getApplication().invokeLater {
|
ApplicationManager.getApplication().invokeLater {
|
||||||
val kJvmConfigurator = getConfiguratorByName(KotlinJavaModuleConfigurator.NAME) as KotlinJavaModuleConfigurator? ?:
|
val kJvmConfigurator = getConfiguratorByName(KotlinJavaModuleConfigurator.NAME) as KotlinJavaModuleConfigurator? ?:
|
||||||
error("Configurator with given name doesn't exists: " + KotlinJavaModuleConfigurator.NAME)
|
error("Configurator with given name doesn't exists: " + KotlinJavaModuleConfigurator.NAME)
|
||||||
|
|||||||
Reference in New Issue
Block a user