Update "Kotlin configured but no stdlib" status on file update (KT-22356)
Provide feedback before project re-import is finished. #KT-22356 Fixed
This commit is contained in:
+26
-19
@@ -49,7 +49,10 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
|
|||||||
private val STDLIB_JRE8_MAVEN_ID = MavenId(KotlinMavenConfigurator.GROUP_ID, MAVEN_STDLIB_ID_JRE8, null)
|
private val STDLIB_JRE8_MAVEN_ID = MavenId(KotlinMavenConfigurator.GROUP_ID, MAVEN_STDLIB_ID_JRE8, null)
|
||||||
private val STDLIB_JDK8_MAVEN_ID = MavenId(KotlinMavenConfigurator.GROUP_ID, MAVEN_STDLIB_ID_JDK8, null)
|
private val STDLIB_JDK8_MAVEN_ID = MavenId(KotlinMavenConfigurator.GROUP_ID, MAVEN_STDLIB_ID_JDK8, null)
|
||||||
|
|
||||||
private val JVM_STDLIB_IDS = listOf(STDLIB_MAVEN_ID, STDLIB_JRE7_MAVEN_ID, STDLIB_JDK7_MAVEN_ID, STDLIB_JRE8_MAVEN_ID, STDLIB_JDK8_MAVEN_ID)
|
private val JVM_STDLIB_IDS =
|
||||||
|
listOf(STDLIB_MAVEN_ID, STDLIB_JRE7_MAVEN_ID, STDLIB_JDK7_MAVEN_ID, STDLIB_JRE8_MAVEN_ID, STDLIB_JDK8_MAVEN_ID)
|
||||||
|
|
||||||
|
private val JS_STDLIB_MAVEN_ID = MavenId(KotlinMavenConfigurator.GROUP_ID, MAVEN_JS_STDLIB_ID, null)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getStaticDescription() = "Reports kotlin-maven-plugin configuration issues"
|
override fun getStaticDescription() = "Reports kotlin-maven-plugin configuration issues"
|
||||||
@@ -129,24 +132,28 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val stdlibDependencies = mavenProject.findDependencies(KotlinMavenConfigurator.GROUP_ID, MAVEN_STDLIB_ID)
|
if (hasJvmExecution && pom.findDependencies(JVM_STDLIB_IDS).isEmpty()) {
|
||||||
val jsDependencies = mavenProject.findDependencies(KotlinMavenConfigurator.GROUP_ID, MAVEN_JS_STDLIB_ID)
|
val stdlibDependencies = mavenProject.findDependencies(KotlinMavenConfigurator.GROUP_ID, MAVEN_STDLIB_ID)
|
||||||
|
if (stdlibDependencies.isEmpty()) {
|
||||||
if (hasJvmExecution && stdlibDependencies.isEmpty()) {
|
holder.createProblem(
|
||||||
holder.createProblem(
|
kotlinPlugin.artifactId.createStableCopy(),
|
||||||
kotlinPlugin.artifactId.createStableCopy(),
|
HighlightSeverity.WARNING,
|
||||||
HighlightSeverity.WARNING,
|
"Kotlin JVM compiler configured but no $MAVEN_STDLIB_ID dependency",
|
||||||
"Kotlin JVM compiler configured but no $MAVEN_STDLIB_ID dependency",
|
FixAddStdlibLocalFix(domFileElement.file, MAVEN_STDLIB_ID, kotlinPlugin.version.rawText)
|
||||||
FixAddStdlibLocalFix(domFileElement.file, MAVEN_STDLIB_ID, kotlinPlugin.version.rawText)
|
)
|
||||||
)
|
}
|
||||||
}
|
}
|
||||||
if (hasJsExecution && jsDependencies.isEmpty()) {
|
|
||||||
holder.createProblem(
|
if (hasJsExecution && pom.findDependencies(JVM_STDLIB_IDS).isEmpty()) {
|
||||||
kotlinPlugin.artifactId.createStableCopy(),
|
val jsDependencies = mavenProject.findDependencies(KotlinMavenConfigurator.GROUP_ID, MAVEN_JS_STDLIB_ID)
|
||||||
HighlightSeverity.WARNING,
|
if (jsDependencies.isEmpty()) {
|
||||||
"Kotlin JavaScript compiler configured but no $MAVEN_JS_STDLIB_ID dependency",
|
holder.createProblem(
|
||||||
FixAddStdlibLocalFix(domFileElement.file, MAVEN_JS_STDLIB_ID, kotlinPlugin.version.rawText)
|
kotlinPlugin.artifactId.createStableCopy(),
|
||||||
)
|
HighlightSeverity.WARNING,
|
||||||
|
"Kotlin JavaScript compiler configured but no $MAVEN_JS_STDLIB_ID dependency",
|
||||||
|
FixAddStdlibLocalFix(domFileElement.file, MAVEN_JS_STDLIB_ID, kotlinPlugin.version.rawText)
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -163,7 +170,7 @@ class KotlinMavenPluginPhaseInspection : DomElementsInspection<MavenDomProjectMo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val stdlibJsDependencies = pom.findDependencies(MavenId(KotlinMavenConfigurator.GROUP_ID, MAVEN_JS_STDLIB_ID, null))
|
val stdlibJsDependencies = pom.findDependencies(JS_STDLIB_MAVEN_ID)
|
||||||
if (!hasJsExecution && stdlibJsDependencies.isNotEmpty()) {
|
if (!hasJsExecution && stdlibJsDependencies.isNotEmpty()) {
|
||||||
stdlibJsDependencies.forEach { dep ->
|
stdlibJsDependencies.forEach { dep ->
|
||||||
holder.createProblem(
|
holder.createProblem(
|
||||||
|
|||||||
Reference in New Issue
Block a user