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:
Pavel V. Talanov
2018-10-11 19:11:50 +02:00
parent 3c3e7b617b
commit 1c761c7864
@@ -12,9 +12,7 @@ import com.intellij.execution.actions.RunConfigurationProducer
import com.intellij.execution.configurations.ModuleBasedConfiguration
import com.intellij.execution.junit.*
import com.intellij.execution.testframework.AbstractPatternBasedConfigurationProducer
import com.intellij.openapi.module.Module
import com.intellij.openapi.project.DumbService
import com.intellij.openapi.roots.ModuleRootManager
import com.intellij.openapi.util.Ref
import com.intellij.psi.PsiClass
import com.intellij.psi.PsiElement
@@ -89,7 +87,7 @@ class KotlinJUnitRunConfigurationProducer : RunConfigurationProducer<JUnitConfig
if (methodLocation != null) {
configuration.beMethodConfiguration(methodLocation)
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location)
configuration.setSdkAndModule(module)
configuration.setModule(module)
return true
}
@@ -97,26 +95,13 @@ class KotlinJUnitRunConfigurationProducer : RunConfigurationProducer<JUnitConfig
if (testClass != null) {
configuration.beClassConfiguration(testClass)
JavaRunConfigurationExtensionManager.getInstance().extendCreatedConfiguration(configuration, location)
configuration.setSdkAndModule(module)
configuration.setModule(module)
return true
}
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) {
val leaf = fromContext.sourceElement
getTestClass(leaf)?.let { testClass ->