Guard PatternConfigurationProducer usages with JUnit presence check (EA-122472)
This commit is contained in:
+13
-4
@@ -19,6 +19,8 @@ import com.intellij.execution.JavaRunConfigurationExtensionManager
|
|||||||
import com.intellij.execution.actions.ConfigurationContext
|
import com.intellij.execution.actions.ConfigurationContext
|
||||||
import com.intellij.execution.actions.RunConfigurationProducer
|
import com.intellij.execution.actions.RunConfigurationProducer
|
||||||
import com.intellij.execution.junit.PatternConfigurationProducer
|
import com.intellij.execution.junit.PatternConfigurationProducer
|
||||||
|
import com.intellij.ide.plugins.PluginManager
|
||||||
|
import com.intellij.openapi.extensions.PluginId.getId
|
||||||
import com.intellij.openapi.externalSystem.service.execution.ExternalSystemRunConfiguration
|
import com.intellij.openapi.externalSystem.service.execution.ExternalSystemRunConfiguration
|
||||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||||
import com.intellij.openapi.util.Ref
|
import com.intellij.openapi.util.Ref
|
||||||
@@ -29,13 +31,16 @@ import org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigu
|
|||||||
import org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer
|
import org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer
|
||||||
import org.jetbrains.plugins.gradle.util.GradleConstants
|
import org.jetbrains.plugins.gradle.util.GradleConstants
|
||||||
|
|
||||||
class KotlinTestClassGradleConfigurationProducer : TestClassGradleConfigurationProducer() {
|
private val IS_JUNIT_INSTALLED by lazy { PluginManager.isPluginInstalled(getId("JUnit")) }
|
||||||
|
|
||||||
|
class KotlinTestClassGradleConfigurationProducer : TestClassGradleConfigurationProducer() {
|
||||||
override fun doSetupConfigurationFromContext(
|
override fun doSetupConfigurationFromContext(
|
||||||
configuration: ExternalSystemRunConfiguration,
|
configuration: ExternalSystemRunConfiguration,
|
||||||
context: ConfigurationContext,
|
context: ConfigurationContext,
|
||||||
sourceElement: Ref<PsiElement>
|
sourceElement: Ref<PsiElement>
|
||||||
): Boolean {
|
): Boolean {
|
||||||
|
if (!IS_JUNIT_INSTALLED) return false
|
||||||
|
|
||||||
val contextLocation = context.location ?: return false
|
val contextLocation = context.location ?: return false
|
||||||
val module = context.module ?: return false
|
val module = context.module ?: return false
|
||||||
|
|
||||||
@@ -63,6 +68,8 @@ class KotlinTestClassGradleConfigurationProducer : TestClassGradleConfigurationP
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun doIsConfigurationFromContext(configuration: ExternalSystemRunConfiguration, context: ConfigurationContext): Boolean {
|
override fun doIsConfigurationFromContext(configuration: ExternalSystemRunConfiguration, context: ConfigurationContext): Boolean {
|
||||||
|
if (!IS_JUNIT_INSTALLED) return false
|
||||||
|
|
||||||
val leaf = context.location?.psiElement ?: return false
|
val leaf = context.location?.psiElement ?: return false
|
||||||
if (context.module == null) return false
|
if (context.module == null) return false
|
||||||
|
|
||||||
@@ -92,14 +99,14 @@ class KotlinTestClassGradleConfigurationProducer : TestClassGradleConfigurationP
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KotlinTestMethodGradleConfigurationProducer
|
class KotlinTestMethodGradleConfigurationProducer : TestMethodGradleConfigurationProducer() {
|
||||||
: TestMethodGradleConfigurationProducer() {
|
|
||||||
|
|
||||||
override fun doSetupConfigurationFromContext(
|
override fun doSetupConfigurationFromContext(
|
||||||
configuration: ExternalSystemRunConfiguration,
|
configuration: ExternalSystemRunConfiguration,
|
||||||
context: ConfigurationContext,
|
context: ConfigurationContext,
|
||||||
sourceElement: Ref<PsiElement>
|
sourceElement: Ref<PsiElement>
|
||||||
): Boolean {
|
): Boolean {
|
||||||
|
if (!IS_JUNIT_INSTALLED) return false
|
||||||
|
|
||||||
val contextLocation = context.location ?: return false
|
val contextLocation = context.location ?: return false
|
||||||
if (context.module == null) return false
|
if (context.module == null) return false
|
||||||
|
|
||||||
@@ -121,6 +128,8 @@ class KotlinTestMethodGradleConfigurationProducer
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun doIsConfigurationFromContext(configuration: ExternalSystemRunConfiguration, context: ConfigurationContext): Boolean {
|
override fun doIsConfigurationFromContext(configuration: ExternalSystemRunConfiguration, context: ConfigurationContext): Boolean {
|
||||||
|
if (!IS_JUNIT_INSTALLED) return false
|
||||||
|
|
||||||
if (RunConfigurationProducer.getInstance(PatternConfigurationProducer::class.java).isMultipleElementsSelected(context)) {
|
if (RunConfigurationProducer.getInstance(PatternConfigurationProducer::class.java).isMultipleElementsSelected(context)) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user