From 735f86a50e068c0b0df55c039f0053d8757dd41a Mon Sep 17 00:00:00 2001 From: Andrey Uskov Date: Thu, 28 Feb 2019 15:42:09 +0300 Subject: [PATCH] Fix creation of KotlinSDK. GradleFacetImportTest fixed --- .../gradle/GradleMultiplatformWizardTest.kt.181 | 14 ++++++++++++++ .../codeInsight/gradle/GradleFacetImportTest.kt | 12 ++++++------ .../gradle/GradleFacetImportTest.kt.181 | 12 ++++++------ .../gradle/GradleFacetImportTest.kt.as32 | 2 +- .../org/jetbrains/kotlin/idea/facet/facetUtils.kt | 2 +- 5 files changed, 28 insertions(+), 14 deletions(-) diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/GradleMultiplatformWizardTest.kt.181 b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/GradleMultiplatformWizardTest.kt.181 index 7910388d96f..67525c49971 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/GradleMultiplatformWizardTest.kt.181 +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/GradleMultiplatformWizardTest.kt.181 @@ -7,9 +7,23 @@ package org.jetbrains.kotlin.gradle import org.jetbrains.kotlin.idea.configuration.KotlinGradleSharedMultiplatformModuleBuilder import org.jetbrains.kotlin.idea.configuration.KotlinGradleWebMultiplatformModuleBuilder +import org.jetbrains.kotlin.idea.test.KotlinSdkCreationChecker import org.junit.Test class GradleMultiplatformWizardTest : AbstractGradleMultiplatformWizardTest() { + + lateinit var sdkCreationChecker: KotlinSdkCreationChecker + + override fun setUp() { + super.setUp() + sdkCreationChecker = KotlinSdkCreationChecker() + } + + override fun tearDown() { + sdkCreationChecker.removeNewKotlinSdk() + super.tearDown() + } + @Test fun testWeb() { testImportFromBuilder(KotlinGradleWebMultiplatformModuleBuilder(), "SampleTests", "SampleTestsJVM") diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt index 317e7d53015..510fa7b4c4d 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt @@ -86,7 +86,7 @@ class GradleFacetImportTest : GradleImportingTestCase() { super.tearDown() } - private fun assertKotlinSdk(vararg moduleNames: String) { + private fun assertSameKotlinSdks(vararg moduleNames: String) { val sdks = moduleNames.map { getModule(it).sdk!! } val refSdk = sdks.firstOrNull() ?: return Assert.assertTrue(refSdk.sdkType is KotlinSdkType) @@ -629,7 +629,7 @@ compileTestKotlin { assertEquals(JSLibraryKind, (stdlib as LibraryEx).kind) assertTrue(stdlib.getFiles(OrderRootType.CLASSES).isNotEmpty()) - assertKotlinSdk("project_main", "project_test") + assertSameKotlinSdks("project_main", "project_test") Assert.assertEquals( listOf("file:///src/main/java" to SourceKotlinRootType, @@ -1339,7 +1339,7 @@ compileTestKotlin { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-eap-44") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.40") } } @@ -2040,7 +2040,7 @@ compileTestKotlin { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.0-rc-39") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.40") } } @@ -2054,7 +2054,7 @@ compileTestKotlin { } dependencies { - compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.2.0-rc-39" + compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.2.40" } compileKotlinCommon{ @@ -2103,7 +2103,7 @@ compileTestKotlin { val stdlib = rootManager.orderEntries.filterIsInstance().single().library assertEquals(CommonLibraryKind, (stdlib as LibraryEx).kind) - assertKotlinSdk("project_main", "project_test") + assertSameKotlinSdks("project_main", "project_test") Assert.assertEquals( listOf("file:///src/main/kotlin" to SourceKotlinRootType, diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt.181 b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt.181 index f050e880ad9..dad2610b484 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt.181 +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt.181 @@ -86,7 +86,7 @@ class GradleFacetImportTest : GradleImportingTestCase() { super.tearDown() } - private fun assertKotlinSdk(vararg moduleNames: String) { + private fun assertSameKotlinSdks(vararg moduleNames: String) { val sdks = moduleNames.map { getModule(it).sdk!! } val refSdk = sdks.firstOrNull() ?: return Assert.assertTrue(refSdk.sdkType is KotlinSdkType) @@ -629,7 +629,7 @@ compileTestKotlin { assertEquals(JSLibraryKind, (stdlib as LibraryEx).kind) assertTrue(stdlib.getFiles(OrderRootType.CLASSES).isNotEmpty()) - assertKotlinSdk("project_main", "project_test") + assertSameKotlinSdks("project_main", "project_test") Assert.assertEquals( listOf("file:///src/main/java" to SourceKotlinRootType, @@ -1341,7 +1341,7 @@ compileTestKotlin { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-eap-44") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.40") } } @@ -2048,7 +2048,7 @@ compileTestKotlin { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.0-rc-39") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.40") } } @@ -2062,7 +2062,7 @@ compileTestKotlin { } dependencies { - compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.2.0-rc-39" + compile "org.jetbrains.kotlin:kotlin-stdlib-common:1.2.40" } compileKotlinCommon{ @@ -2111,7 +2111,7 @@ compileTestKotlin { val stdlib = rootManager.orderEntries.filterIsInstance().single().library assertEquals(CommonLibraryKind, (stdlib as LibraryEx).kind) - assertKotlinSdk("project_main", "project_test") + assertSameKotlinSdks("project_main", "project_test") Assert.assertEquals( listOf("file:///src/main/kotlin" to SourceKotlinRootType, diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt.as32 b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt.as32 index 8a1b1746a5a..a99aca4f239 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt.as32 +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt.as32 @@ -1149,7 +1149,7 @@ compileTestKotlin { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-eap-44") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.40") } } diff --git a/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt b/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt index f2d2cd1776a..cf2e93b0abb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/facet/facetUtils.kt @@ -240,6 +240,7 @@ private fun Module.configureSdkIfPossible(compilerArguments: CommonCompilerArgum if (isAndroidModule(modelsProvider) || hasNonOverriddenExternalSdkConfiguration(compilerArguments)) return val projectSdk = ProjectRootManager.getInstance(project).projectSdk + KotlinSdkType.setUpIfNeeded() val allSdks = ProjectJdkTable.getInstance().allJdks val sdk = if (compilerArguments is K2JVMCompilerArguments) { val jdkHome = compilerArguments.jdkHome @@ -256,7 +257,6 @@ private fun Module.configureSdkIfPossible(compilerArguments: CommonCompilerArgum .asSequence() .mapNotNull { modelsProvider.getModifiableRootModel(it).sdk } .firstOrNull { it.sdkType is KotlinSdkType } - ?: KotlinSdkType.INSTANCE.createSdkWithUniqueName(allSdks.toList()) } val rootModel = modelsProvider.getModifiableRootModel(this)