KotlinJUnitRunConfigurationProducer: do not manually override sdk
Should be correct if the module is correct Manually setting sdk led to problem in case of android SDK
This commit is contained in:
+2
-17
@@ -12,9 +12,7 @@ import com.intellij.execution.actions.RunConfigurationProducer
|
|||||||
import com.intellij.execution.configurations.ModuleBasedConfiguration
|
import com.intellij.execution.configurations.ModuleBasedConfiguration
|
||||||
import com.intellij.execution.junit.*
|
import com.intellij.execution.junit.*
|
||||||
import com.intellij.execution.testframework.AbstractPatternBasedConfigurationProducer
|
import com.intellij.execution.testframework.AbstractPatternBasedConfigurationProducer
|
||||||
import com.intellij.openapi.module.Module
|
|
||||||
import com.intellij.openapi.project.DumbService
|
import com.intellij.openapi.project.DumbService
|
||||||
import com.intellij.openapi.roots.ModuleRootManager
|
|
||||||
import com.intellij.openapi.util.Ref
|
import com.intellij.openapi.util.Ref
|
||||||
import com.intellij.psi.PsiClass
|
import com.intellij.psi.PsiClass
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
@@ -89,7 +87,7 @@ class KotlinJUnitRunConfigurationProducer : RunConfigurationProducer<JUnitConfig
|
|||||||
if (methodLocation != null) {
|
if (methodLocation != null) {
|
||||||
configuration.beMethodConfiguration(methodLocation)
|
configuration.beMethodConfiguration(methodLocation)
|
||||||
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location)
|
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location)
|
||||||
configuration.setSdkAndModule(module)
|
configuration.setModule(module)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -97,26 +95,13 @@ class KotlinJUnitRunConfigurationProducer : RunConfigurationProducer<JUnitConfig
|
|||||||
if (testClass != null) {
|
if (testClass != null) {
|
||||||
configuration.beClassConfiguration(testClass)
|
configuration.beClassConfiguration(testClass)
|
||||||
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location)
|
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location)
|
||||||
configuration.setSdkAndModule(module)
|
configuration.setModule(module)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun JUnitConfiguration.setSdkAndModule(module: Module) {
|
|
||||||
if (configurationModule.module == module) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
setModule(module)
|
|
||||||
val sdk = ModuleRootManager.getInstance(module).sdk
|
|
||||||
if (sdk != null) {
|
|
||||||
isAlternativeJrePathEnabled = true
|
|
||||||
alternativeJrePath = sdk.homePath
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onFirstRun(fromContext: ConfigurationFromContext, context: ConfigurationContext, performRunnable: Runnable) {
|
override fun onFirstRun(fromContext: ConfigurationFromContext, context: ConfigurationContext, performRunnable: Runnable) {
|
||||||
val leaf = fromContext.sourceElement
|
val leaf = fromContext.sourceElement
|
||||||
getTestClass(leaf)?.let { testClass ->
|
getTestClass(leaf)?.let { testClass ->
|
||||||
|
|||||||
Reference in New Issue
Block a user