use more deterministic check to determine that "Configure Kotlin in project" notification should be displayed
#KT-10898 Fixed
This commit is contained in:
@@ -56,7 +56,7 @@ public class ProjectStructureUtil {
|
||||
return module != null && isJsKotlinModule(module);
|
||||
}
|
||||
|
||||
public static boolean isJavaKotlinModule(@NotNull Module module) {
|
||||
public static boolean hasKotlinRuntimeInScope(@NotNull Module module) {
|
||||
GlobalSearchScope scope = module.getModuleWithDependenciesAndLibrariesScope(
|
||||
hasKotlinFilesOnlyInTests(module));
|
||||
return KotlinRuntimeLibraryCoreUtil.getKotlinRuntimeMarkerClass(module.getProject(), scope) != null;
|
||||
@@ -89,7 +89,7 @@ public class ProjectStructureUtil {
|
||||
boolean hasJvmKotlinModules = false;
|
||||
|
||||
for (Module module : ModuleManager.getInstance(project).getModules()) {
|
||||
if (isJavaKotlinModule(module)) {
|
||||
if (hasKotlinRuntimeInScope(module)) {
|
||||
hasJvmKotlinModules = true;
|
||||
break;
|
||||
}
|
||||
@@ -117,7 +117,7 @@ public class ProjectStructureUtil {
|
||||
ModuleUtilCore.collectModulesDependsOn(module, dependentModules);
|
||||
|
||||
for (Module module : dependentModules) {
|
||||
if (isJavaKotlinModule(module)) {
|
||||
if (hasKotlinRuntimeInScope(module)) {
|
||||
usedInKotlinModule = true;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ public class KotlinJavaMavenConfigurator extends KotlinMavenConfigurator {
|
||||
|
||||
@Override
|
||||
protected boolean isKotlinModule(@NotNull Module module) {
|
||||
return ProjectStructureUtil.isJavaKotlinModule(module);
|
||||
return ProjectStructureUtil.hasKotlinRuntimeInScope(module);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -37,7 +37,7 @@ public class KotlinJavaModuleConfigurator extends KotlinWithLibraryConfigurator
|
||||
|
||||
@Override
|
||||
public boolean isConfigured(@NotNull Module module) {
|
||||
return ProjectStructureUtil.isJavaKotlinModule(module);
|
||||
return ProjectStructureUtil.hasKotlinRuntimeInScope(module);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+3
-1
@@ -39,6 +39,7 @@ import com.intellij.ui.EditorNotificationPanel
|
||||
import com.intellij.ui.EditorNotifications
|
||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||
import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||
import org.jetbrains.kotlin.idea.project.ProjectStructureUtil
|
||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||
import org.jetbrains.kotlin.idea.versions.UnsupportedAbiVersionNotificationPanelProvider
|
||||
import org.jetbrains.kotlin.idea.versions.createComponentActionLabel
|
||||
@@ -77,7 +78,8 @@ class KotlinSetupEnvironmentNotificationProvider(
|
||||
return createSetupSdkPanel(myProject, psiFile)
|
||||
}
|
||||
|
||||
if (!isModuleConfigured(module) && UnsupportedAbiVersionNotificationPanelProvider.collectBadRoots(module).isEmpty()) {
|
||||
if (!ProjectStructureUtil.hasKotlinRuntimeInScope(module) &&
|
||||
UnsupportedAbiVersionNotificationPanelProvider.collectBadRoots(module).isEmpty()) {
|
||||
return createKotlinNotConfiguredPanel(module)
|
||||
}
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ public abstract class KotlinWithGradleConfigurator implements KotlinProjectConfi
|
||||
|
||||
@Override
|
||||
public boolean isConfigured(@NotNull Module module) {
|
||||
if (ProjectStructureUtil.isJavaKotlinModule(module)) {
|
||||
if (ProjectStructureUtil.hasKotlinRuntimeInScope(module)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user