Fix AWT freeze in KotlinNativeABICompatibilityChecker (part 2)
Issue #KT-35052
This commit is contained in:
+2
-5
@@ -8,13 +8,12 @@ package org.jetbrains.kotlin.idea.caches.project
|
|||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.module.ModuleManager
|
import com.intellij.openapi.module.ModuleManager
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.projectRoots.Sdk
|
import com.intellij.openapi.projectRoots.Sdk
|
||||||
import com.intellij.openapi.roots.JdkOrderEntry
|
import com.intellij.openapi.roots.JdkOrderEntry
|
||||||
import com.intellij.openapi.roots.LibraryOrderEntry
|
import com.intellij.openapi.roots.LibraryOrderEntry
|
||||||
import com.intellij.openapi.roots.ModuleRootManager
|
import com.intellij.openapi.roots.ModuleRootManager
|
||||||
import org.jetbrains.kotlin.caches.project.cacheInvalidatingOnRootModifications
|
import org.jetbrains.kotlin.caches.project.cacheInvalidatingOnRootModifications
|
||||||
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
import org.jetbrains.kotlin.platform.isCommon
|
import org.jetbrains.kotlin.platform.isCommon
|
||||||
import org.jetbrains.kotlin.types.typeUtil.closure
|
import org.jetbrains.kotlin.types.typeUtil.closure
|
||||||
@@ -93,6 +92,4 @@ private fun mergePlatformModules(
|
|||||||
return rest + platformModules
|
return rest + platformModules
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun getAllProjectSdks(): Array<Sdk> = runReadAction {
|
internal fun getAllProjectSdks(): Array<Sdk> = getProjectJdkTableSafe().allJdks
|
||||||
ProjectJdkTable.getInstance().allJdks
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
@file:JvmName("IjPlatformUtil")
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.util
|
||||||
|
|
||||||
|
|
||||||
|
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
||||||
|
import org.jetbrains.kotlin.idea.util.application.runReadAction
|
||||||
|
|
||||||
|
fun getProjectJdkTableSafe(): ProjectJdkTable = runReadAction { ProjectJdkTable.getInstance() }
|
||||||
+2
-2
@@ -19,7 +19,6 @@ import com.intellij.openapi.extensions.Extensions
|
|||||||
import com.intellij.openapi.fileTypes.FileTypeManager
|
import com.intellij.openapi.fileTypes.FileTypeManager
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.openapi.projectRoots.JavaSdk
|
import com.intellij.openapi.projectRoots.JavaSdk
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.projectRoots.ex.PathUtilEx
|
import com.intellij.openapi.projectRoots.ex.PathUtilEx
|
||||||
import com.intellij.openapi.roots.ProjectRootManager
|
import com.intellij.openapi.roots.ProjectRootManager
|
||||||
import com.intellij.openapi.vfs.VfsUtil
|
import com.intellij.openapi.vfs.VfsUtil
|
||||||
@@ -29,6 +28,7 @@ import org.jetbrains.kotlin.idea.KotlinFileType
|
|||||||
import org.jetbrains.kotlin.idea.caches.project.SdkInfo
|
import org.jetbrains.kotlin.idea.caches.project.SdkInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.project.getScriptRelatedModuleInfo
|
import org.jetbrains.kotlin.idea.caches.project.getScriptRelatedModuleInfo
|
||||||
import org.jetbrains.kotlin.idea.core.script.settings.KotlinScriptingSettings
|
import org.jetbrains.kotlin.idea.core.script.settings.KotlinScriptingSettings
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import org.jetbrains.kotlin.script.ScriptTemplatesProvider
|
import org.jetbrains.kotlin.script.ScriptTemplatesProvider
|
||||||
import org.jetbrains.kotlin.scripting.definitions.*
|
import org.jetbrains.kotlin.scripting.definitions.*
|
||||||
import org.jetbrains.kotlin.utils.PathUtil
|
import org.jetbrains.kotlin.utils.PathUtil
|
||||||
@@ -343,7 +343,7 @@ class BundledKotlinScriptDependenciesResolver(private val project: Project) : De
|
|||||||
}
|
}
|
||||||
|
|
||||||
val jdk = ProjectRootManager.getInstance(project).projectSdk
|
val jdk = ProjectRootManager.getInstance(project).projectSdk
|
||||||
?: ProjectJdkTable.getInstance().allJdks.firstOrNull { sdk -> sdk.sdkType is JavaSdk }
|
?: getProjectJdkTableSafe().allJdks.firstOrNull { sdk -> sdk.sdkType is JavaSdk }
|
||||||
?: PathUtilEx.getAnyJdk(project)
|
?: PathUtilEx.getAnyJdk(project)
|
||||||
return jdk?.homePath
|
return jdk?.homePath
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -26,7 +26,6 @@ import com.intellij.openapi.externalSystem.util.ExternalSystemUtil
|
|||||||
import com.intellij.openapi.fileTypes.FileTypeManager
|
import com.intellij.openapi.fileTypes.FileTypeManager
|
||||||
import com.intellij.openapi.module.ModuleManager
|
import com.intellij.openapi.module.ModuleManager
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.projectRoots.SimpleJavaSdkType
|
import com.intellij.openapi.projectRoots.SimpleJavaSdkType
|
||||||
import com.intellij.openapi.roots.ModuleRootManager
|
import com.intellij.openapi.roots.ModuleRootManager
|
||||||
import com.intellij.openapi.roots.ProjectRootManager
|
import com.intellij.openapi.roots.ProjectRootManager
|
||||||
@@ -46,6 +45,7 @@ import junit.framework.TestCase
|
|||||||
import org.jetbrains.kotlin.idea.codeInsight.gradle.ExternalSystemImportingTestCase.LATEST_STABLE_GRADLE_PLUGIN_VERSION
|
import org.jetbrains.kotlin.idea.codeInsight.gradle.ExternalSystemImportingTestCase.LATEST_STABLE_GRADLE_PLUGIN_VERSION
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.gradle.GradleImportingTestCase
|
import org.jetbrains.kotlin.idea.codeInsight.gradle.GradleImportingTestCase
|
||||||
import org.jetbrains.kotlin.idea.configuration.KotlinGradleAbstractMultiplatformModuleBuilder
|
import org.jetbrains.kotlin.idea.configuration.KotlinGradleAbstractMultiplatformModuleBuilder
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper
|
import org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper
|
||||||
import org.jetbrains.plugins.gradle.settings.DistributionType
|
import org.jetbrains.plugins.gradle.settings.DistributionType
|
||||||
import org.jetbrains.plugins.gradle.settings.GradleExecutionSettings
|
import org.jetbrains.plugins.gradle.settings.GradleExecutionSettings
|
||||||
@@ -250,7 +250,7 @@ abstract class AbstractGradleMultiplatformWizardTest : ProjectWizardTestCase<Abs
|
|||||||
addSdk(SimpleJavaSdkType().createJdk("_other", javaHome))
|
addSdk(SimpleJavaSdkType().createJdk("_other", javaHome))
|
||||||
|
|
||||||
println("ProjectWizardTestCase.configureJdk:")
|
println("ProjectWizardTestCase.configureJdk:")
|
||||||
println(listOf(*ProjectJdkTable.getInstance().allJdks))
|
println(listOf(*getProjectJdkTableSafe().allJdks))
|
||||||
|
|
||||||
FileTypeManager.getInstance().associateExtension(GroovyFileType.GROOVY_FILE_TYPE, "gradle")
|
FileTypeManager.getInstance().associateExtension(GroovyFileType.GROOVY_FILE_TYPE, "gradle")
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -20,7 +20,6 @@ import com.intellij.openapi.application.Result
|
|||||||
import com.intellij.openapi.application.WriteAction
|
import com.intellij.openapi.application.WriteAction
|
||||||
import com.intellij.openapi.application.runReadAction
|
import com.intellij.openapi.application.runReadAction
|
||||||
import com.intellij.openapi.projectRoots.JavaSdk
|
import com.intellij.openapi.projectRoots.JavaSdk
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.roots.LibraryOrderEntry
|
import com.intellij.openapi.roots.LibraryOrderEntry
|
||||||
import com.intellij.openapi.roots.ModuleRootManager
|
import com.intellij.openapi.roots.ModuleRootManager
|
||||||
import com.intellij.openapi.roots.OrderRootType
|
import com.intellij.openapi.roots.OrderRootType
|
||||||
@@ -45,6 +44,7 @@ import org.jetbrains.kotlin.idea.framework.CommonLibraryKind
|
|||||||
import org.jetbrains.kotlin.idea.framework.JSLibraryKind
|
import org.jetbrains.kotlin.idea.framework.JSLibraryKind
|
||||||
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
||||||
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import org.jetbrains.kotlin.idea.util.projectStructure.allModules
|
import org.jetbrains.kotlin.idea.util.projectStructure.allModules
|
||||||
import org.jetbrains.kotlin.idea.util.projectStructure.sdk
|
import org.jetbrains.kotlin.idea.util.projectStructure.sdk
|
||||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
@@ -762,7 +762,7 @@ class GradleFacetImportTest : GradleImportingTestCase() {
|
|||||||
object : WriteAction<Unit>() {
|
object : WriteAction<Unit>() {
|
||||||
override fun run(result: Result<Unit>) {
|
override fun run(result: Result<Unit>) {
|
||||||
val jdk = JavaSdk.getInstance().createJdk("myJDK", "my/path/to/jdk")
|
val jdk = JavaSdk.getInstance().createJdk("myJDK", "my/path/to/jdk")
|
||||||
ProjectJdkTable.getInstance().addJdk(jdk)
|
getProjectJdkTableSafe().addJdk(jdk)
|
||||||
}
|
}
|
||||||
}.execute()
|
}.execute()
|
||||||
|
|
||||||
@@ -777,7 +777,7 @@ class GradleFacetImportTest : GradleImportingTestCase() {
|
|||||||
} finally {
|
} finally {
|
||||||
object : WriteAction<Unit>() {
|
object : WriteAction<Unit>() {
|
||||||
override fun run(result: Result<Unit>) {
|
override fun run(result: Result<Unit>) {
|
||||||
val jdkTable = ProjectJdkTable.getInstance()
|
val jdkTable = getProjectJdkTableSafe()
|
||||||
jdkTable.removeJdk(jdkTable.findJdk("myJDK")!!)
|
jdkTable.removeJdk(jdkTable.findJdk("myJDK")!!)
|
||||||
}
|
}
|
||||||
}.execute()
|
}.execute()
|
||||||
|
|||||||
+6
-5
@@ -28,7 +28,6 @@ import com.intellij.openapi.fileEditor.FileDocumentManager
|
|||||||
import com.intellij.openapi.fileEditor.impl.LoadTextUtil
|
import com.intellij.openapi.fileEditor.impl.LoadTextUtil
|
||||||
import com.intellij.openapi.fileTypes.FileTypeManager
|
import com.intellij.openapi.fileTypes.FileTypeManager
|
||||||
import com.intellij.openapi.projectRoots.JavaSdk
|
import com.intellij.openapi.projectRoots.JavaSdk
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil
|
import com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil
|
||||||
import com.intellij.openapi.ui.Messages
|
import com.intellij.openapi.ui.Messages
|
||||||
import com.intellij.openapi.ui.TestDialog
|
import com.intellij.openapi.ui.TestDialog
|
||||||
@@ -45,6 +44,7 @@ import org.intellij.lang.annotations.Language
|
|||||||
import org.jetbrains.annotations.NonNls
|
import org.jetbrains.annotations.NonNls
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinSdkCreationChecker
|
import org.jetbrains.kotlin.idea.test.KotlinSdkCreationChecker
|
||||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import org.jetbrains.kotlin.test.JUnitParameterizedWithIdeaConfigurationRunner
|
import org.jetbrains.kotlin.test.JUnitParameterizedWithIdeaConfigurationRunner
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.plugins.gradle.settings.DistributionType
|
import org.jetbrains.plugins.gradle.settings.DistributionType
|
||||||
@@ -110,13 +110,14 @@ abstract class GradleImportingTestCase : ExternalSystemImportingTestCase() {
|
|||||||
assumeTrue(isApplicableTest())
|
assumeTrue(isApplicableTest())
|
||||||
assumeThat(gradleVersion, versionMatcherRule.matcher)
|
assumeThat(gradleVersion, versionMatcherRule.matcher)
|
||||||
runWrite {
|
runWrite {
|
||||||
ProjectJdkTable.getInstance().findJdk(GRADLE_JDK_NAME)?.let {
|
val jdkTable = getProjectJdkTableSafe()
|
||||||
ProjectJdkTable.getInstance().removeJdk(it)
|
jdkTable.findJdk(GRADLE_JDK_NAME)?.let {
|
||||||
|
jdkTable.removeJdk(it)
|
||||||
}
|
}
|
||||||
val jdkHomeDir = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(File(myJdkHome))!!
|
val jdkHomeDir = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(File(myJdkHome))!!
|
||||||
val jdk = SdkConfigurationUtil.setupSdk(arrayOfNulls(0), jdkHomeDir, JavaSdk.getInstance(), true, null, GRADLE_JDK_NAME)
|
val jdk = SdkConfigurationUtil.setupSdk(arrayOfNulls(0), jdkHomeDir, JavaSdk.getInstance(), true, null, GRADLE_JDK_NAME)
|
||||||
TestCase.assertNotNull("Cannot create JDK for $myJdkHome", jdk)
|
TestCase.assertNotNull("Cannot create JDK for $myJdkHome", jdk)
|
||||||
ProjectJdkTable.getInstance().addJdk(jdk!!)
|
jdkTable.addJdk(jdk!!)
|
||||||
FileTypeManager.getInstance().associateExtension(GroovyFileType.GROOVY_FILE_TYPE, "gradle")
|
FileTypeManager.getInstance().associateExtension(GroovyFileType.GROOVY_FILE_TYPE, "gradle")
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -135,7 +136,7 @@ abstract class GradleImportingTestCase : ExternalSystemImportingTestCase() {
|
|||||||
override fun tearDown() {
|
override fun tearDown() {
|
||||||
try {
|
try {
|
||||||
runWrite {
|
runWrite {
|
||||||
val old = ProjectJdkTable.getInstance().findJdk(GRADLE_JDK_NAME)
|
val old = getProjectJdkTableSafe().findJdk(GRADLE_JDK_NAME)
|
||||||
if (old != null) {
|
if (old != null) {
|
||||||
SdkConfigurationUtil.removeSdk(old)
|
SdkConfigurationUtil.removeSdk(old)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import com.intellij.application.options.CodeStyle
|
|||||||
import com.intellij.openapi.application.Result
|
import com.intellij.openapi.application.Result
|
||||||
import com.intellij.openapi.application.WriteAction
|
import com.intellij.openapi.application.WriteAction
|
||||||
import com.intellij.openapi.projectRoots.JavaSdk
|
import com.intellij.openapi.projectRoots.JavaSdk
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.roots.CompilerModuleExtension
|
import com.intellij.openapi.roots.CompilerModuleExtension
|
||||||
import com.intellij.openapi.roots.LibraryOrderEntry
|
import com.intellij.openapi.roots.LibraryOrderEntry
|
||||||
import com.intellij.openapi.roots.ModuleRootManager
|
import com.intellij.openapi.roots.ModuleRootManager
|
||||||
@@ -45,6 +44,7 @@ import org.jetbrains.kotlin.idea.framework.CommonLibraryKind
|
|||||||
import org.jetbrains.kotlin.idea.framework.JSLibraryKind
|
import org.jetbrains.kotlin.idea.framework.JSLibraryKind
|
||||||
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
||||||
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
||||||
import org.jetbrains.kotlin.platform.CommonPlatforms
|
import org.jetbrains.kotlin.platform.CommonPlatforms
|
||||||
@@ -2540,7 +2540,7 @@ class KotlinMavenImporterTest : MavenImportingTestCase() {
|
|||||||
object : WriteAction<Unit>() {
|
object : WriteAction<Unit>() {
|
||||||
override fun run(result: Result<Unit>) {
|
override fun run(result: Result<Unit>) {
|
||||||
val jdk = JavaSdk.getInstance().createJdk("myJDK", "my/path/to/jdk")
|
val jdk = JavaSdk.getInstance().createJdk("myJDK", "my/path/to/jdk")
|
||||||
ProjectJdkTable.getInstance().addJdk(jdk)
|
getProjectJdkTableSafe().addJdk(jdk)
|
||||||
}
|
}
|
||||||
}.execute()
|
}.execute()
|
||||||
|
|
||||||
@@ -2597,7 +2597,7 @@ class KotlinMavenImporterTest : MavenImportingTestCase() {
|
|||||||
} finally {
|
} finally {
|
||||||
object : WriteAction<Unit>() {
|
object : WriteAction<Unit>() {
|
||||||
override fun run(result: Result<Unit>) {
|
override fun run(result: Result<Unit>) {
|
||||||
val jdkTable = ProjectJdkTable.getInstance()
|
val jdkTable = getProjectJdkTableSafe()
|
||||||
jdkTable.removeJdk(jdkTable.findJdk("myJDK")!!)
|
jdkTable.removeJdk(jdkTable.findJdk("myJDK")!!)
|
||||||
}
|
}
|
||||||
}.execute()
|
}.execute()
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.idea.test
|
|||||||
|
|
||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.projectRoots.Sdk
|
import com.intellij.openapi.projectRoots.Sdk
|
||||||
import com.intellij.openapi.roots.LibraryOrderEntry
|
import com.intellij.openapi.roots.LibraryOrderEntry
|
||||||
import com.intellij.openapi.roots.ModifiableRootModel
|
import com.intellij.openapi.roots.ModifiableRootModel
|
||||||
@@ -33,6 +32,7 @@ import com.intellij.openapi.vfs.VfsUtil
|
|||||||
import org.jetbrains.kotlin.idea.framework.CommonLibraryKind
|
import org.jetbrains.kotlin.idea.framework.CommonLibraryKind
|
||||||
import org.jetbrains.kotlin.idea.framework.JSLibraryKind
|
import org.jetbrains.kotlin.idea.framework.JSLibraryKind
|
||||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
||||||
import org.jetbrains.kotlin.utils.PathUtil
|
import org.jetbrains.kotlin.utils.PathUtil
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -109,7 +109,7 @@ object ConfigLibraryUtil {
|
|||||||
val rootModel = rootManager.modifiableModel
|
val rootModel = rootManager.modifiableModel
|
||||||
|
|
||||||
assertNotNull(
|
assertNotNull(
|
||||||
ProjectJdkTable.getInstance().findJdk(sdk.name),
|
getProjectJdkTableSafe().findJdk(sdk.name),
|
||||||
"Cannot find sdk in ProjectJdkTable. This may cause sdk leak.\n" +
|
"Cannot find sdk in ProjectJdkTable. This may cause sdk leak.\n" +
|
||||||
"You can use ProjectPluginTestBase.addJdk(Disposable ...) to register sdk in ProjectJdkTable.\n" +
|
"You can use ProjectPluginTestBase.addJdk(Disposable ...) to register sdk in ProjectJdkTable.\n" +
|
||||||
"Then sdk will be removed in tearDown"
|
"Then sdk will be removed in tearDown"
|
||||||
|
|||||||
+5
-5
@@ -7,23 +7,23 @@ package org.jetbrains.kotlin.idea.test
|
|||||||
|
|
||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import com.intellij.openapi.application.runWriteAction
|
import com.intellij.openapi.application.runWriteAction
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.projectRoots.Sdk
|
import com.intellij.openapi.projectRoots.Sdk
|
||||||
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
|
|
||||||
class KotlinSdkCreationChecker {
|
class KotlinSdkCreationChecker {
|
||||||
|
|
||||||
private val sdksBefore: Array<out Sdk> = ProjectJdkTable.getInstance().allJdks
|
private val sdksBefore: Array<out Sdk> = getProjectJdkTableSafe().allJdks
|
||||||
|
|
||||||
fun getKotlinSdks() = ProjectJdkTable.getInstance().allJdks.filter { it.sdkType is KotlinSdkType }
|
fun getKotlinSdks() = getProjectJdkTableSafe().allJdks.filter { it.sdkType is KotlinSdkType }
|
||||||
|
|
||||||
private fun getCreatedKotlinSdks() =
|
private fun getCreatedKotlinSdks() =
|
||||||
ProjectJdkTable.getInstance().allJdks.filter { !sdksBefore.contains(it) && it.sdkType is KotlinSdkType }
|
getProjectJdkTableSafe().allJdks.filter { !sdksBefore.contains(it) && it.sdkType is KotlinSdkType }
|
||||||
|
|
||||||
fun isKotlinSdkCreated() = getCreatedKotlinSdks().isNotEmpty()
|
fun isKotlinSdkCreated() = getCreatedKotlinSdks().isNotEmpty()
|
||||||
|
|
||||||
fun removeNewKotlinSdk() {
|
fun removeNewKotlinSdk() {
|
||||||
val jdkTable = ProjectJdkTable.getInstance()
|
val jdkTable = getProjectJdkTableSafe()
|
||||||
ApplicationManager.getApplication().invokeAndWait {
|
ApplicationManager.getApplication().invokeAndWait {
|
||||||
runWriteAction {
|
runWriteAction {
|
||||||
getCreatedKotlinSdks().forEach { jdkTable.removeJdk(it) }
|
getCreatedKotlinSdks().forEach { jdkTable.removeJdk(it) }
|
||||||
|
|||||||
+4
-3
@@ -28,6 +28,7 @@ import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
|
|||||||
import kotlin.jvm.functions.Function0;
|
import kotlin.jvm.functions.Function0;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.TestOnly;
|
import org.jetbrains.annotations.TestOnly;
|
||||||
|
import org.jetbrains.kotlin.idea.util.IjPlatformUtil;
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||||
import org.jetbrains.kotlin.test.TestJdkKind;
|
import org.jetbrains.kotlin.test.TestJdkKind;
|
||||||
|
|
||||||
@@ -53,7 +54,7 @@ public class PluginTestCaseBase {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private static Sdk getSdk(String sdkHome, String name) {
|
private static Sdk getSdk(String sdkHome, String name) {
|
||||||
ProjectJdkTable table = ProjectJdkTable.getInstance();
|
ProjectJdkTable table = IjPlatformUtil.getProjectJdkTableSafe();
|
||||||
Sdk existing = table.findJdk(name);
|
Sdk existing = table.findJdk(name);
|
||||||
if (existing != null) {
|
if (existing != null) {
|
||||||
return existing;
|
return existing;
|
||||||
@@ -93,7 +94,7 @@ public class PluginTestCaseBase {
|
|||||||
@NotNull
|
@NotNull
|
||||||
public static Sdk addJdk(@NotNull Disposable disposable, @NotNull Function0<Sdk> getJdk) {
|
public static Sdk addJdk(@NotNull Disposable disposable, @NotNull Function0<Sdk> getJdk) {
|
||||||
Sdk jdk = getJdk.invoke();
|
Sdk jdk = getJdk.invoke();
|
||||||
ApplicationManager.getApplication().runWriteAction(() -> ProjectJdkTable.getInstance().addJdk(jdk, disposable));
|
ApplicationManager.getApplication().runWriteAction(() -> IjPlatformUtil.getProjectJdkTableSafe().addJdk(jdk, disposable));
|
||||||
return jdk;
|
return jdk;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,7 +121,7 @@ public class PluginTestCaseBase {
|
|||||||
@TestOnly
|
@TestOnly
|
||||||
public static void clearSdkTable(@NotNull Disposable disposable) {
|
public static void clearSdkTable(@NotNull Disposable disposable) {
|
||||||
Disposer.register(disposable, () -> ApplicationManager.getApplication().runWriteAction(() -> {
|
Disposer.register(disposable, () -> ApplicationManager.getApplication().runWriteAction(() -> {
|
||||||
ProjectJdkTable jdkTable = ProjectJdkTable.getInstance();
|
ProjectJdkTable jdkTable = IjPlatformUtil.getProjectJdkTableSafe();
|
||||||
for (Sdk sdk : jdkTable.getAllJdks()) {
|
for (Sdk sdk : jdkTable.getAllJdks()) {
|
||||||
jdkTable.removeJdk(sdk);
|
jdkTable.removeJdk(sdk);
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -28,7 +28,6 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.openapi.project.ex.ProjectManagerEx
|
import com.intellij.openapi.project.ex.ProjectManagerEx
|
||||||
import com.intellij.openapi.project.impl.ProjectImpl
|
import com.intellij.openapi.project.impl.ProjectImpl
|
||||||
import com.intellij.openapi.projectRoots.JavaSdk
|
import com.intellij.openapi.projectRoots.JavaSdk
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.projectRoots.Sdk
|
import com.intellij.openapi.projectRoots.Sdk
|
||||||
import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl
|
import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl
|
||||||
import com.intellij.openapi.roots.ProjectRootManager
|
import com.intellij.openapi.roots.ProjectRootManager
|
||||||
@@ -59,6 +58,7 @@ import org.jetbrains.kotlin.idea.testFramework.Fixture.Companion.cleanupCaches
|
|||||||
import org.jetbrains.kotlin.idea.testFramework.Fixture.Companion.isAKotlinScriptFile
|
import org.jetbrains.kotlin.idea.testFramework.Fixture.Companion.isAKotlinScriptFile
|
||||||
import org.jetbrains.kotlin.idea.testFramework.Fixture.Companion.openFileInEditor
|
import org.jetbrains.kotlin.idea.testFramework.Fixture.Companion.openFileInEditor
|
||||||
import org.jetbrains.kotlin.idea.testFramework.Fixture.Companion.openFixture
|
import org.jetbrains.kotlin.idea.testFramework.Fixture.Companion.openFixture
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.nio.file.Paths
|
import java.nio.file.Paths
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() {
|
|||||||
jdk18 = javaSdk.createJdk("1.8", homePath)
|
jdk18 = javaSdk.createJdk("1.8", homePath)
|
||||||
val internal = javaSdk.createJdk("IDEA jdk", homePath)
|
val internal = javaSdk.createJdk("IDEA jdk", homePath)
|
||||||
|
|
||||||
val jdkTable = ProjectJdkTable.getInstance()
|
val jdkTable = getProjectJdkTableSafe()
|
||||||
jdkTable.addJdk(jdk18, testRootDisposable)
|
jdkTable.addJdk(jdk18, testRootDisposable)
|
||||||
jdkTable.addJdk(internal, testRootDisposable)
|
jdkTable.addJdk(internal, testRootDisposable)
|
||||||
KotlinSdkType.setUpIfNeeded()
|
KotlinSdkType.setUpIfNeeded()
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import com.intellij.openapi.application.ApplicationManager
|
|||||||
import com.intellij.openapi.application.ex.ApplicationEx
|
import com.intellij.openapi.application.ex.ApplicationEx
|
||||||
import com.intellij.openapi.application.runWriteAction
|
import com.intellij.openapi.application.runWriteAction
|
||||||
import com.intellij.openapi.projectRoots.JavaSdk
|
import com.intellij.openapi.projectRoots.JavaSdk
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl
|
import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl
|
||||||
import com.intellij.openapi.vfs.VirtualFile
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
@@ -32,6 +31,7 @@ import com.intellij.xml.XmlSchemaProvider
|
|||||||
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
||||||
import org.jetbrains.kotlin.idea.perf.Stats.Companion.tcSuite
|
import org.jetbrains.kotlin.idea.perf.Stats.Companion.tcSuite
|
||||||
import org.jetbrains.kotlin.idea.perf.Stats.Companion.tcTest
|
import org.jetbrains.kotlin.idea.perf.Stats.Companion.tcTest
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import java.io.*
|
import java.io.*
|
||||||
|
|
||||||
abstract class WholeProjectPerformanceTest : DaemonAnalyzerTestCase(), WholeProjectFileProvider {
|
abstract class WholeProjectPerformanceTest : DaemonAnalyzerTestCase(), WholeProjectFileProvider {
|
||||||
@@ -57,7 +57,7 @@ abstract class WholeProjectPerformanceTest : DaemonAnalyzerTestCase(), WholeProj
|
|||||||
val javaSdk = JavaSdk.getInstance()
|
val javaSdk = JavaSdk.getInstance()
|
||||||
val j8 = javaSdk.createJdk("1.8", homePath)
|
val j8 = javaSdk.createJdk("1.8", homePath)
|
||||||
|
|
||||||
val jdkTable = ProjectJdkTable.getInstance()
|
val jdkTable = getProjectJdkTableSafe()
|
||||||
jdkTable.addJdk(j8, testRootDisposable)
|
jdkTable.addJdk(j8, testRootDisposable)
|
||||||
KotlinSdkType.setUpIfNeeded()
|
KotlinSdkType.setUpIfNeeded()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsPr
|
|||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.projectRoots.JavaSdk
|
import com.intellij.openapi.projectRoots.JavaSdk
|
||||||
import com.intellij.openapi.projectRoots.JavaSdkVersion
|
import com.intellij.openapi.projectRoots.JavaSdkVersion
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.roots.ExternalProjectSystemRegistry
|
import com.intellij.openapi.roots.ExternalProjectSystemRegistry
|
||||||
import com.intellij.openapi.roots.ModuleRootManager
|
import com.intellij.openapi.roots.ModuleRootManager
|
||||||
import com.intellij.openapi.roots.ModuleRootModel
|
import com.intellij.openapi.roots.ModuleRootModel
|
||||||
@@ -39,6 +38,7 @@ import org.jetbrains.kotlin.idea.core.isAndroidModule
|
|||||||
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
||||||
import org.jetbrains.kotlin.idea.platform.tooling
|
import org.jetbrains.kotlin.idea.platform.tooling
|
||||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import org.jetbrains.kotlin.platform.*
|
import org.jetbrains.kotlin.platform.*
|
||||||
import org.jetbrains.kotlin.platform.compat.toNewPlatform
|
import org.jetbrains.kotlin.platform.compat.toNewPlatform
|
||||||
import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind
|
import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind
|
||||||
@@ -279,7 +279,7 @@ private fun Module.configureSdkIfPossible(compilerArguments: CommonCompilerArgum
|
|||||||
|
|
||||||
val projectSdk = ProjectRootManager.getInstance(project).projectSdk
|
val projectSdk = ProjectRootManager.getInstance(project).projectSdk
|
||||||
KotlinSdkType.setUpIfNeeded()
|
KotlinSdkType.setUpIfNeeded()
|
||||||
val allSdks = ProjectJdkTable.getInstance().allJdks
|
val allSdks = getProjectJdkTableSafe().allJdks
|
||||||
val sdk = if (compilerArguments is K2JVMCompilerArguments) {
|
val sdk = if (compilerArguments is K2JVMCompilerArguments) {
|
||||||
val jdkHome = compilerArguments.jdkHome
|
val jdkHome = compilerArguments.jdkHome
|
||||||
when {
|
when {
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.idea.caches.resolve
|
|||||||
|
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.module.StdModuleTypes
|
import com.intellij.openapi.module.StdModuleTypes
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.roots.DependencyScope
|
import com.intellij.openapi.roots.DependencyScope
|
||||||
import com.intellij.openapi.roots.ModuleRootManager
|
import com.intellij.openapi.roots.ModuleRootManager
|
||||||
import com.intellij.openapi.roots.ModuleRootModificationUtil
|
import com.intellij.openapi.roots.ModuleRootModificationUtil
|
||||||
@@ -28,6 +27,7 @@ import org.jetbrains.kotlin.idea.framework.CommonLibraryKind
|
|||||||
import org.jetbrains.kotlin.idea.framework.JSLibraryKind
|
import org.jetbrains.kotlin.idea.framework.JSLibraryKind
|
||||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase.*
|
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase.*
|
||||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.test.util.addDependency
|
import org.jetbrains.kotlin.test.util.addDependency
|
||||||
@@ -347,13 +347,15 @@ class IdeaModuleInfoTest : ModuleTestCase() {
|
|||||||
fun testSdkForScript() {
|
fun testSdkForScript() {
|
||||||
// The first known jdk will be used for scripting if there is no jdk in the project
|
// The first known jdk will be used for scripting if there is no jdk in the project
|
||||||
runWriteAction {
|
runWriteAction {
|
||||||
ProjectJdkTable.getInstance().addJdk(mockJdk6())
|
val jdkTable = getProjectJdkTableSafe()
|
||||||
ProjectJdkTable.getInstance().addJdk(mockJdk9())
|
|
||||||
|
jdkTable.addJdk(mockJdk6())
|
||||||
|
jdkTable.addJdk(mockJdk9())
|
||||||
|
|
||||||
ProjectRootManager.getInstance(project).projectSdk = null
|
ProjectRootManager.getInstance(project).projectSdk = null
|
||||||
}
|
}
|
||||||
|
|
||||||
val firstSDK = ProjectJdkTable.getInstance().allJdks.first()
|
val firstSDK = getProjectJdkTableSafe().allJdks.first()
|
||||||
|
|
||||||
with(createFileInProject("script.kts").moduleInfo) {
|
with(createFileInProject("script.kts").moduleInfo) {
|
||||||
dependencies().filterIsInstance<SdkInfo>().single { it.sdk == firstSDK }
|
dependencies().filterIsInstance<SdkInfo>().single { it.sdk == firstSDK }
|
||||||
@@ -362,8 +364,10 @@ class IdeaModuleInfoTest : ModuleTestCase() {
|
|||||||
|
|
||||||
fun testSdkForScriptProjectSdk() {
|
fun testSdkForScriptProjectSdk() {
|
||||||
runWriteAction {
|
runWriteAction {
|
||||||
ProjectJdkTable.getInstance().addJdk(mockJdk6())
|
val jdkTable = getProjectJdkTableSafe()
|
||||||
ProjectJdkTable.getInstance().addJdk(mockJdk9())
|
|
||||||
|
jdkTable.addJdk(mockJdk6())
|
||||||
|
jdkTable.addJdk(mockJdk9())
|
||||||
|
|
||||||
ProjectRootManager.getInstance(project).projectSdk = mockJdk9()
|
ProjectRootManager.getInstance(project).projectSdk = mockJdk9()
|
||||||
}
|
}
|
||||||
@@ -377,8 +381,10 @@ class IdeaModuleInfoTest : ModuleTestCase() {
|
|||||||
val a = module("a")
|
val a = module("a")
|
||||||
|
|
||||||
runWriteAction {
|
runWriteAction {
|
||||||
ProjectJdkTable.getInstance().addJdk(mockJdk6())
|
val jdkTable = getProjectJdkTableSafe()
|
||||||
ProjectJdkTable.getInstance().addJdk(mockJdk9())
|
|
||||||
|
jdkTable.addJdk(mockJdk6())
|
||||||
|
jdkTable.addJdk(mockJdk9())
|
||||||
|
|
||||||
ProjectRootManager.getInstance(project).projectSdk = mockJdk6()
|
ProjectRootManager.getInstance(project).projectSdk = mockJdk6()
|
||||||
with(ModuleRootManager.getInstance(a).modifiableModel) {
|
with(ModuleRootManager.getInstance(a).modifiableModel) {
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import com.intellij.openapi.application.PathMacros
|
|||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.module.ModuleManager
|
import com.intellij.openapi.module.ModuleManager
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.projectRoots.Sdk
|
import com.intellij.openapi.projectRoots.Sdk
|
||||||
import com.intellij.openapi.roots.ProjectRootManager
|
import com.intellij.openapi.roots.ProjectRootManager
|
||||||
import com.intellij.openapi.util.io.FileUtil
|
import com.intellij.openapi.util.io.FileUtil
|
||||||
@@ -22,6 +21,7 @@ import junit.framework.TestCase
|
|||||||
import org.jetbrains.kotlin.idea.configuration.KotlinWithLibraryConfigurator.FileState
|
import org.jetbrains.kotlin.idea.configuration.KotlinWithLibraryConfigurator.FileState
|
||||||
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
||||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.utils.PathUtil
|
import org.jetbrains.kotlin.utils.PathUtil
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -49,9 +49,11 @@ abstract class AbstractConfigureKotlinTest : PlatformTestCase() {
|
|||||||
KotlinSdkType.setUpIfNeeded()
|
KotlinSdkType.setUpIfNeeded()
|
||||||
|
|
||||||
ApplicationManager.getApplication().runWriteAction {
|
ApplicationManager.getApplication().runWriteAction {
|
||||||
ProjectJdkTable.getInstance().addJdk(PluginTestCaseBase.mockJdk6())
|
val jdkTable = getProjectJdkTableSafe()
|
||||||
ProjectJdkTable.getInstance().addJdk(PluginTestCaseBase.mockJdk8())
|
|
||||||
ProjectJdkTable.getInstance().addJdk(PluginTestCaseBase.mockJdk9())
|
jdkTable.addJdk(PluginTestCaseBase.mockJdk6())
|
||||||
|
jdkTable.addJdk(PluginTestCaseBase.mockJdk8())
|
||||||
|
jdkTable.addJdk(PluginTestCaseBase.mockJdk9())
|
||||||
}
|
}
|
||||||
|
|
||||||
PluginTestCaseBase.clearSdkTable(testRootDisposable)
|
PluginTestCaseBase.clearSdkTable(testRootDisposable)
|
||||||
|
|||||||
+2
-2
@@ -5,8 +5,8 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.configuration
|
package org.jetbrains.kotlin.idea.configuration
|
||||||
|
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
@@ -15,6 +15,6 @@ import org.junit.runner.RunWith
|
|||||||
@RunWith(JUnit3WithIdeaConfigurationRunner::class)
|
@RunWith(JUnit3WithIdeaConfigurationRunner::class)
|
||||||
class AutoConfigureKotlinSdkOnStartupTest : AbstractConfigureKotlinInTempDirTest() {
|
class AutoConfigureKotlinSdkOnStartupTest : AbstractConfigureKotlinInTempDirTest() {
|
||||||
fun testKotlinSdkAdded() {
|
fun testKotlinSdkAdded() {
|
||||||
Assert.assertTrue(ProjectJdkTable.getInstance().allJdks.any { it.sdkType is KotlinSdkType })
|
Assert.assertTrue(getProjectJdkTableSafe().allJdks.any { it.sdkType is KotlinSdkType })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.idea.script
|
|||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import com.intellij.openapi.module.JavaModuleType
|
import com.intellij.openapi.module.JavaModuleType
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable
|
|
||||||
import com.intellij.openapi.projectRoots.Sdk
|
import com.intellij.openapi.projectRoots.Sdk
|
||||||
import com.intellij.openapi.roots.ModuleRootModificationUtil
|
import com.intellij.openapi.roots.ModuleRootModificationUtil
|
||||||
import com.intellij.openapi.roots.ProjectRootManager
|
import com.intellij.openapi.roots.ProjectRootManager
|
||||||
@@ -30,6 +29,7 @@ import org.jetbrains.kotlin.idea.core.script.isScriptChangesNotifierDisabled
|
|||||||
import org.jetbrains.kotlin.idea.highlighter.KotlinHighlightingUtil
|
import org.jetbrains.kotlin.idea.highlighter.KotlinHighlightingUtil
|
||||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||||
|
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.scripting.definitions.findScriptDefinition
|
import org.jetbrains.kotlin.scripting.definitions.findScriptDefinition
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
@@ -78,7 +78,7 @@ abstract class AbstractScriptConfigurationTest : KotlinCompletionTestCase() {
|
|||||||
private val sdk by lazy {
|
private val sdk by lazy {
|
||||||
val jdk = PluginTestCaseBase.jdk(TestJdkKind.MOCK_JDK)
|
val jdk = PluginTestCaseBase.jdk(TestJdkKind.MOCK_JDK)
|
||||||
runWriteAction {
|
runWriteAction {
|
||||||
ProjectJdkTable.getInstance().addJdk(jdk, testRootDisposable)
|
getProjectJdkTableSafe().addJdk(jdk, testRootDisposable)
|
||||||
ProjectRootManager.getInstance(project).projectSdk = jdk
|
ProjectRootManager.getInstance(project).projectSdk = jdk
|
||||||
}
|
}
|
||||||
jdk
|
jdk
|
||||||
@@ -208,7 +208,7 @@ abstract class AbstractScriptConfigurationTest : KotlinCompletionTestCase() {
|
|||||||
}
|
}
|
||||||
runWriteAction {
|
runWriteAction {
|
||||||
val jdk = PluginTestCaseBase.jdk(jdkKind)
|
val jdk = PluginTestCaseBase.jdk(jdkKind)
|
||||||
ProjectJdkTable.getInstance().addJdk(jdk, testRootDisposable)
|
getProjectJdkTableSafe().addJdk(jdk, testRootDisposable)
|
||||||
env["javaHome"] = File(jdk.homePath)
|
env["javaHome"] = File(jdk.homePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user