From 52be952fb7688b078364c26fc2e60644daaaae3a Mon Sep 17 00:00:00 2001 From: Andrey Uskov Date: Thu, 24 Jan 2019 20:22:11 +0300 Subject: [PATCH] Refactor gradle importing tests. Add possibility to test various versions of gradle kotlin plugin --- .../MultiplatformProjectImportingTest.kt | 13 ++- .../MultiplatformProjectImportingTest.kt.as32 | 15 ++- .../MultiplatformTestCompatibilityMatrix.kt | 15 +++ ...ultiplatformTestCompatibilityMatrix.kt.181 | 17 +++ ...ltiplatformTestCompatibilityMatrix.kt.as33 | 0 ...ltiplatformTestCompatibilityMatrix.kt.as34 | 0 ...ltiplatformTestCompatibilityMatrix.kt.as35 | 0 .../NewMultiplatformProjectImportingTest.kt | 106 +++++++++--------- .../kotlin/gradle/projectStructureDSL.kt | 3 +- .../gradle/GradleImportingTestCase.kt | 6 +- ...plePluginVersionGradleImportingTestCase.kt | 62 ++++++++++ .../dependenciesReachableViaImpl/build.gradle | 4 +- .../jsProductionOutputFile/build.gradle | 4 +- .../jsTestOutputFile/build.gradle | 4 +- .../build.gradle | 4 +- .../multiplatform/multiProject/build.gradle | 4 +- .../platformToCommonDependency/build.gradle | 4 +- .../build.gradle | 4 +- .../build.gradle | 14 +++ .../settings.gradle | 0 .../toInclude/build.gradle | 4 +- .../toInclude/settings.gradle | 0 .../build.gradle | 4 +- .../build.gradle | 12 -- .../build.gradle | 4 +- .../transitiveImplement/build.gradle | 4 +- .../build.gradle | 4 +- .../build.gradle | 4 +- .../androidDependencyOnMPP/build.gradle | 4 +- .../dependencyOnRoot/build.gradle | 4 +- .../fileCollectionDependency/build.gradle | 4 +- .../nestedDependencies/build.gradle | 4 +- .../projectDependency/build.gradle | 4 +- .../unresolvedDependency/build.gradle | 4 +- 34 files changed, 243 insertions(+), 96 deletions(-) create mode 100644 idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt create mode 100644 idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.181 create mode 100644 idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.as33 create mode 100644 idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.as34 create mode 100644 idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.as35 create mode 100644 idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/MultiplePluginVersionGradleImportingTestCase.kt create mode 100644 idea/testData/gradle/multiplatform/platformToCommonExpByInComposite/build.gradle rename idea/testData/gradle/multiplatform/{platformToCommonExpectedByDependencyInComposite => platformToCommonExpByInComposite}/settings.gradle (100%) rename idea/testData/gradle/multiplatform/{platformToCommonExpectedByDependencyInComposite => platformToCommonExpByInComposite}/toInclude/build.gradle (83%) rename idea/testData/gradle/multiplatform/{platformToCommonExpectedByDependencyInComposite => platformToCommonExpByInComposite}/toInclude/settings.gradle (100%) delete mode 100644 idea/testData/gradle/multiplatform/platformToCommonExpectedByDependencyInComposite/build.gradle diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt index 65753e16f56..69419a170ed 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt @@ -23,15 +23,14 @@ import com.intellij.openapi.roots.impl.ModuleOrderEntryImpl import com.intellij.openapi.vfs.VirtualFile import com.intellij.util.PathUtil import junit.framework.TestCase -import org.jetbrains.kotlin.idea.codeInsight.gradle.GradleImportingTestCase +import org.jetbrains.kotlin.idea.codeInsight.gradle.MultiplePluginVersionGradleImportingTestCase import org.jetbrains.kotlin.idea.codeInsight.gradle.facetSettings import org.jetbrains.kotlin.idea.facet.KotlinFacet import org.jetbrains.kotlin.idea.util.rootManager import org.jetbrains.kotlin.test.KotlinTestUtils -import org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions import org.junit.Test -class MultiplatformProjectImportingTest : GradleImportingTestCase() { +class MultiplatformProjectImportingTest : MultiplePluginVersionGradleImportingTestCase() { private fun legacyMode() = gradleVersion.split(".")[0].toInt() < 4 private fun getDependencyLibraryUrls(moduleName: String) = @@ -53,6 +52,10 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() { assert(getModule(moduleName).getModuleWithDependenciesAndLibrariesScope(true).contains(file)) } + override fun isApplicableTest(): Boolean { + return shouldRunTest(gradleKotlinPluginVersion, gradleVersion) + } + @Test fun testPlatformToCommonDependency() { val files = configureByFiles() @@ -88,7 +91,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() { } @Test - fun testPlatformToCommonExpectedByDependencyInComposite() { + fun testPlatformToCommonExpByInComposite() { // renamed from testPlatformToCommonExpectedByDependencyInComposite due to lack support of long names under Windows configureByFiles() importProject() @@ -293,10 +296,8 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() { } } - //@TargetVersions("3.5") @Test fun testJsTestOutputFile() { - // TODO fix for 4.9 configureByFiles() importProject() diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt.as32 b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt.as32 index e1c23f60e6e..f32e109e99c 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt.as32 +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformProjectImportingTest.kt.as32 @@ -20,16 +20,17 @@ import com.intellij.openapi.roots.DependencyScope import com.intellij.openapi.roots.LibraryOrderEntry import com.intellij.openapi.roots.OrderRootType import com.intellij.openapi.roots.impl.ModuleOrderEntryImpl +import com.intellij.openapi.vfs.VirtualFile import com.intellij.util.PathUtil import junit.framework.TestCase -import org.jetbrains.kotlin.idea.codeInsight.gradle.GradleImportingTestCase +import org.jetbrains.kotlin.idea.codeInsight.gradle.MultiplePluginVersionGradleImportingTestCase import org.jetbrains.kotlin.idea.codeInsight.gradle.facetSettings import org.jetbrains.kotlin.idea.facet.KotlinFacet import org.jetbrains.kotlin.idea.util.rootManager import org.jetbrains.kotlin.test.KotlinTestUtils import org.junit.Test -class MultiplatformProjectImportingTest : GradleImportingTestCase() { +class MultiplatformProjectImportingTest : MultiplePluginVersionGradleImportingTestCase() { private fun legacyMode() = gradleVersion.split(".")[0].toInt() < 4 private fun getDependencyLibraryUrls(moduleName: String) = @@ -47,6 +48,14 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() { assert(depOrderEntry.isProductionOnTestDependency == expected) } + private fun assertFileInModuleScope(file: VirtualFile, moduleName: String) { + assert(getModule(moduleName).getModuleWithDependenciesAndLibrariesScope(true).contains(file)) + } + + override fun isApplicableTest(): Boolean { + return shouldRunTest(gradleKotlinPluginVersion, gradleVersion) + } + @Test fun testPlatformToCommonDependency() { val files = configureByFiles() @@ -72,7 +81,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() { } @Test - fun testPlatformToCommonExpectedByDependencyInComposite() { + fun testPlatformToCommonExpByInComposite() { // renamed from testPlatformToCommonExpectedByDependencyInComposite due to lack support of long names under Windows configureByFiles() importProject() diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt new file mode 100644 index 00000000000..b269302433e --- /dev/null +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt @@ -0,0 +1,15 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.gradle + +//BUNCH 181 +fun MultiplatformProjectImportingTest.shouldRunTest(kotlinPluginVersion: String, gradleVersion: String): Boolean { + return true +} + +fun NewMultiplatformProjectImportingTest.shouldRunTest(kotlinPluginVersion: String, gradleVersion: String): Boolean { + return !gradleVersion.startsWith("3.") +} \ No newline at end of file diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.181 b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.181 new file mode 100644 index 00000000000..df81b4f716c --- /dev/null +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.181 @@ -0,0 +1,17 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.gradle + +import org.jetbrains.kotlin.idea.codeInsight.gradle.MultiplePluginVersionGradleImportingTestCase + +//BUNCH 181 +fun MultiplatformProjectImportingTest.shouldRunTest(kotlinPluginVersion: String, gradleVersion: String): Boolean { + return kotlinPluginVersion != MultiplePluginVersionGradleImportingTestCase.MINIMAL_SUPPORTED_VERSION +} + +fun NewMultiplatformProjectImportingTest.shouldRunTest(kotlinPluginVersion: String, gradleVersion: String): Boolean { + return !gradleVersion.startsWith("3.") +} \ No newline at end of file diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.as33 b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.as33 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.as34 b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.as34 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.as35 b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt.as35 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt index a2d040a4299..39a01406174 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.config.KotlinResourceRootType import org.jetbrains.kotlin.config.KotlinSourceRootType import org.jetbrains.kotlin.idea.codeInsight.gradle.ExternalSystemImportingTestCase import org.jetbrains.kotlin.idea.codeInsight.gradle.GradleImportingTestCase +import org.jetbrains.kotlin.idea.codeInsight.gradle.MultiplePluginVersionGradleImportingTestCase import org.jetbrains.kotlin.platform.impl.CommonIdePlatformKind import org.jetbrains.kotlin.platform.impl.JsIdePlatformKind import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind @@ -22,8 +23,8 @@ import org.junit.Before import org.junit.Test import org.junit.runners.Parameterized -class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { - private val kotlinVersion = "1.3.0-rc-146" +class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportingTestCase() { + private fun kotlinVersion() = if (gradleKotlinPluginVersion == MINIMAL_SUPPORTED_VERSION) "1.3.0-rc-146" else gradleKotlinPluginVersion @Before fun saveSdksBeforeTest() { @@ -40,6 +41,10 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } } + override fun isApplicableTest(): Boolean { + return shouldRunTest(gradleKotlinPluginVersion, gradleVersion) + } + @Test fun testProjectDependency() { @@ -60,7 +65,7 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { module("app") module("app_commonMain") { platform(CommonIdePlatformKind.Platform) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) moduleDependency("lib_commonMain", DependencyScope.COMPILE) sourceFolder("app/src/commonMain/kotlin", KotlinSourceRootType.Source) sourceFolder("app/src/commonMain/resources", KotlinResourceRootType.Resource) @@ -68,7 +73,7 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("app_commonTest") { platform(CommonIdePlatformKind.Platform) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) moduleDependency("lib_commonMain", DependencyScope.TEST) moduleDependency("app_commonMain", DependencyScope.TEST) sourceFolder("app/src/commonTest/kotlin", KotlinSourceRootType.TestSource) @@ -77,8 +82,8 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("app_jsMain") { platform(JsIdePlatformKind.Platform) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:${kotlinVersion()}", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) moduleDependency("lib_jsMain", DependencyScope.COMPILE) moduleDependency("lib_commonMain", DependencyScope.COMPILE) moduleDependency("app_commonMain", DependencyScope.COMPILE) @@ -88,8 +93,8 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("app_jsTest") { platform(JsIdePlatformKind.Platform) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion", DependencyScope.TEST) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:${kotlinVersion()}", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) moduleDependency("lib_jsMain", DependencyScope.TEST) moduleDependency("lib_commonMain", DependencyScope.TEST) moduleDependency("app_commonMain", DependencyScope.TEST) @@ -101,8 +106,8 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("app_jvmMain") { platform(JvmIdePlatformKind.Platform(JvmTarget.JVM_1_6)) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion()}", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.COMPILE) moduleDependency("lib_jvmMain", DependencyScope.COMPILE) moduleDependency("lib_commonMain", DependencyScope.COMPILE) @@ -114,8 +119,8 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("app_jvmTest") { platform(JvmIdePlatformKind.Platform(JvmTarget.JVM_1_6)) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion", DependencyScope.TEST) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion()}", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.TEST) moduleDependency("lib_jvmMain", DependencyScope.TEST) moduleDependency("lib_commonMain", DependencyScope.TEST) @@ -129,8 +134,8 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("app_main") { platform(JvmIdePlatformKind.Platform(JvmTarget.JVM_1_8)) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion()}", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.COMPILE) moduleDependency("lib_commonMain", DependencyScope.COMPILE) sourceFolder("app/src/main/java", JavaSourceRootType.SOURCE) @@ -140,8 +145,8 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("app_test") { platform(JvmIdePlatformKind.Platform(JvmTarget.JVM_1_8)) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion", DependencyScope.TEST) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion()}", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.TEST) moduleDependency("lib_commonMain", DependencyScope.TEST) moduleDependency("app_main", DependencyScope.TEST) @@ -153,14 +158,14 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { module("lib") module("lib_commonMain") { platform(CommonIdePlatformKind.Platform) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) sourceFolder("lib/src/commonMain/kotlin", KotlinSourceRootType.Source) sourceFolder("lib/src/commonMain/resources", KotlinResourceRootType.Resource) inheritProjectOutput() } module("lib_commonTest") { platform(CommonIdePlatformKind.Platform) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) moduleDependency("lib_commonMain", DependencyScope.TEST) sourceFolder("lib/src/commonTest/kotlin", KotlinSourceRootType.TestSource) sourceFolder("lib/src/commonTest/resources", KotlinResourceRootType.TestResource) @@ -168,8 +173,8 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("lib_jsMain") { platform(JsIdePlatformKind.Platform) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:${kotlinVersion()}", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) moduleDependency("lib_commonMain", DependencyScope.COMPILE) sourceFolder("lib/src/jsMain/kotlin", KotlinSourceRootType.Source) sourceFolder("lib/src/jsMain/resources", KotlinResourceRootType.Resource) @@ -177,8 +182,8 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("lib_jsTest") { platform(JsIdePlatformKind.Platform) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion", DependencyScope.TEST) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-js:${kotlinVersion()}", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) moduleDependency("lib_commonMain", DependencyScope.TEST) moduleDependency("lib_commonTest", DependencyScope.TEST) moduleDependency("lib_jsMain", DependencyScope.TEST) @@ -188,8 +193,8 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("lib_jvmMain") { platform(JvmIdePlatformKind.Platform(JvmTarget.JVM_1_6)) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion()}", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.COMPILE) moduleDependency("lib_commonMain", DependencyScope.COMPILE) sourceFolder("lib/src/jvmMain/kotlin", JavaSourceRootType.SOURCE) @@ -198,8 +203,8 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("lib_jvmTest") { platform(JvmIdePlatformKind.Platform(JvmTarget.JVM_1_6)) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion", DependencyScope.TEST) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion()}", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.TEST) moduleDependency("lib_commonTest", DependencyScope.TEST) moduleDependency("lib_commonMain", DependencyScope.TEST) @@ -289,9 +294,9 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { libraryDependency("Gradle: org.hamcrest:hamcrest-core:1.3@jar", DependencyScope.TEST) libraryDependency("Gradle: org.hamcrest:hamcrest-integration:1.3@jar", DependencyScope.TEST) libraryDependency("Gradle: org.hamcrest:hamcrest-library:1.3@jar", DependencyScope.TEST) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:$kotlinVersion@jar", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion@jar", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion@jar", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}@jar", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:${kotlinVersion()}@jar", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion()}@jar", DependencyScope.COMPILE) libraryDependency("Gradle: org.jetbrains:annotations:13.0@jar", DependencyScope.COMPILE) moduleDependency("shared", DependencyScope.COMPILE) moduleDependency("shared_androidMain", DependencyScope.COMPILE) @@ -301,27 +306,27 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("shared") module("shared_commonMain") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) sourceFolder("shared/src/commonMain/kotlin", KotlinSourceRootType.Source) sourceFolder("shared/src/commonMain/resources", KotlinResourceRootType.Resource) } module("shared_commonTest") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) moduleDependency("shared_commonMain", DependencyScope.TEST) sourceFolder("shared/src/commonTest/kotlin", KotlinSourceRootType.TestSource) sourceFolder("shared/src/commonTest/resources", KotlinResourceRootType.TestResource) } module("shared_androidMain") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.COMPILE) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:1.3.0-rc-146", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion()}", DependencyScope.COMPILE) libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.COMPILE) moduleDependency("shared_commonMain", DependencyScope.COMPILE) sourceFolder("shared/src/androidMain/kotlin", JavaSourceRootType.SOURCE) sourceFolder("shared/src/androidMain/resources", JavaResourceRootType.RESOURCE) } module("shared_androidTest") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.TEST) - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:1.3.0-rc-146", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion()}", DependencyScope.TEST) libraryDependency("Gradle: org.jetbrains:annotations:13.0", DependencyScope.TEST) moduleDependency("shared_androidMain", DependencyScope.TEST) moduleDependency("shared_commonMain", DependencyScope.TEST) @@ -401,18 +406,18 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { module("project") module("aaa") module("aaa_commonMain") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) moduleDependency("bbb_commonMain", DependencyScope.COMPILE) moduleDependency("ccc_commonMain", DependencyScope.COMPILE) } module("aaa_commonTest") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) moduleDependency("aaa_commonMain", DependencyScope.TEST) moduleDependency("bbb_commonMain", DependencyScope.TEST) moduleDependency("ccc_commonMain", DependencyScope.TEST) } module("aaa_jvmMain") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) moduleDependency("aaa_commonMain", DependencyScope.COMPILE) moduleDependency("bbb_commonMain", DependencyScope.COMPILE) moduleDependency("bbb_jvmMain", DependencyScope.COMPILE) @@ -420,7 +425,7 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { moduleDependency("ccc_jvmMain", DependencyScope.COMPILE) } module("aaa_jvmTest") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) moduleDependency("aaa_commonMain", DependencyScope.TEST) moduleDependency("aaa_commonTest", DependencyScope.TEST) moduleDependency("aaa_jvmMain", DependencyScope.TEST) @@ -431,22 +436,22 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("bbb") module("bbb_commonMain") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) moduleDependency("ccc_commonMain", DependencyScope.COMPILE) } module("bbb_commonTest") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) moduleDependency("bbb_commonMain", DependencyScope.TEST) moduleDependency("ccc_commonMain", DependencyScope.TEST) } module("bbb_jvmMain") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) moduleDependency("bbb_commonMain", DependencyScope.COMPILE) moduleDependency("ccc_commonMain", DependencyScope.COMPILE) moduleDependency("ccc_jvmMain", DependencyScope.COMPILE) } module("bbb_jvmTest") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) moduleDependency("bbb_commonMain", DependencyScope.TEST) moduleDependency("bbb_commonTest", DependencyScope.TEST) moduleDependency("bbb_jvmMain", DependencyScope.TEST) @@ -455,18 +460,18 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { } module("ccc") module("ccc_commonMain") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) } module("ccc_commonTest") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) moduleDependency("ccc_commonMain", DependencyScope.TEST) } module("ccc_jvmMain") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.COMPILE) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) moduleDependency("ccc_commonMain", DependencyScope.COMPILE) } module("ccc_jvmTest") { - libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.3.0-rc-146", DependencyScope.TEST) + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.TEST) moduleDependency("ccc_commonMain", DependencyScope.TEST) moduleDependency("ccc_commonTest", DependencyScope.TEST) moduleDependency("ccc_jvmMain", DependencyScope.TEST) @@ -502,11 +507,4 @@ class NewMultiplatformProjectImportingTest : GradleImportingTestCase() { override fun testDataDirName(): String { return "newMultiplatformImport" } - - companion object { - @Parameterized.Parameters(name = "{index}: with Gradle-{0}") - @Throws(Throwable::class) - @JvmStatic - fun data() = listOf(arrayOf("4.8")) - } } \ No newline at end of file diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/projectStructureDSL.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/projectStructureDSL.kt index 09dd98a7b2f..33a9b40a57a 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/projectStructureDSL.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/projectStructureDSL.kt @@ -150,7 +150,8 @@ class ModuleInfo( fun moduleDependency(moduleName: String, scope: DependencyScope) { val moduleEntry = rootModel.orderEntries.filterIsInstance().singleOrNull { it.moduleName == moduleName } if (moduleEntry == null) { - projectInfo.messageCollector.report("Module '${module.name}': No module dependency found: '$moduleName'") + val allModules = rootModel.orderEntries.filterIsInstance().map { it.moduleName }.joinToString(", ") + projectInfo.messageCollector.report("Module '${module.name}': No module dependency found: '$moduleName'. All module names: $allModules") return } checkDependencyScope(moduleEntry, scope) diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.kt index 7f1c5607dbf..95954f57f3d 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.kt @@ -63,6 +63,7 @@ import java.io.StringWriter import java.net.URISyntaxException import java.util.* import org.junit.AfterClass +import org.junit.Assume.assumeTrue // part of org.jetbrains.plugins.gradle.importing.GradleImportingTestCase @RunWith(value = Parameterized::class) @@ -89,9 +90,12 @@ abstract class GradleImportingTestCase : ExternalSystemImportingTestCase() { private lateinit var myProjectSettings: GradleProjectSettings private lateinit var myJdkHome: String + open fun isApplicableTest(): Boolean = true + override fun setUp() { myJdkHome = IdeaTestUtil.requireRealJdkHome() super.setUp() + assumeTrue(isApplicableTest()) assumeThat(gradleVersion, versionMatcherRule.matcher) runWrite { ProjectJdkTable.getInstance().findJdk(GRADLE_JDK_NAME)?.let { @@ -216,7 +220,7 @@ abstract class GradleImportingTestCase : ExternalSystemImportingTestCase() { return File(baseDir, getTestName(true).substringBefore("_")) } - protected fun configureByFiles(): List { + protected open fun configureByFiles(): List { val rootDir = testDataDirectory() assert(rootDir.exists()) { "Directory ${rootDir.path} doesn't exist" } diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/MultiplePluginVersionGradleImportingTestCase.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/MultiplePluginVersionGradleImportingTestCase.kt new file mode 100644 index 00000000000..e847530d760 --- /dev/null +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/MultiplePluginVersionGradleImportingTestCase.kt @@ -0,0 +1,62 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +/** + * This TestCase implements possibility to test import with different versions of gradle and different + * versions of gradle kotlin plugin + */ +package org.jetbrains.kotlin.idea.codeInsight.gradle + +import com.intellij.openapi.vfs.VirtualFile +import org.junit.runners.Parameterized +import java.util.* + +abstract class MultiplePluginVersionGradleImportingTestCase : GradleImportingTestCase() { + + @JvmField + @Parameterized.Parameter(1) + var gradleKotlinPluginVersion: String = MINIMAL_SUPPORTED_VERSION + + companion object { + const val MINIMAL_SUPPORTED_VERSION = "minimal"// minimal supported version + private val KOTLIN_GRADLE_PLUGIN_VERSIONS = listOf(MINIMAL_SUPPORTED_VERSION, "1.3.20") + + @JvmStatic + @Parameterized.Parameters(name = "{index}: Gradle-{0}, KotlinGradlePlugin-{1}") + fun data(): Collection> { + return AbstractModelBuilderTest.SUPPORTED_GRADLE_VERSIONS.flatMap { gradleVersion -> + if ((gradleVersion[0] as String).startsWith("3.")) { + listOf(arrayOf(gradleVersion[0], MINIMAL_SUPPORTED_VERSION)) + } else { + KOTLIN_GRADLE_PLUGIN_VERSIONS.map { kotlinVersion -> + arrayOf( + gradleVersion[0], + kotlinVersion + ) + } + } + + }.toList() + } + } + + override fun configureByFiles(): List { + val result = ArrayList(super.configureByFiles()) + result.add( + createProjectSubFile( + "include.gradle", """ +String gradleKotlinPluginVersion(String defaultVersion) { + return ${if (gradleKotlinPluginVersion.isEmpty() || MINIMAL_SUPPORTED_VERSION == gradleKotlinPluginVersion) "defaultVersion;" else "\"$gradleKotlinPluginVersion\""} +} +ext { + gradleKotlinPluginVersion = this.&gradleKotlinPluginVersion +} +""" + ) + ) + return result + } +} + diff --git a/idea/testData/gradle/multiplatform/dependenciesReachableViaImpl/build.gradle b/idea/testData/gradle/multiplatform/dependenciesReachableViaImpl/build.gradle index 55ea851797a..392870c79cf 100644 --- a/idea/testData/gradle/multiplatform/dependenciesReachableViaImpl/build.gradle +++ b/idea/testData/gradle/multiplatform/dependenciesReachableViaImpl/build.gradle @@ -4,7 +4,9 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.1.0') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/multiplatform/jsProductionOutputFile/build.gradle b/idea/testData/gradle/multiplatform/jsProductionOutputFile/build.gradle index 7243bce447b..9d155d119af 100644 --- a/idea/testData/gradle/multiplatform/jsProductionOutputFile/build.gradle +++ b/idea/testData/gradle/multiplatform/jsProductionOutputFile/build.gradle @@ -5,7 +5,9 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.51") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.1.51') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") classpath 'com.android.tools.build:gradle:2.3.3' } } diff --git a/idea/testData/gradle/multiplatform/jsTestOutputFile/build.gradle b/idea/testData/gradle/multiplatform/jsTestOutputFile/build.gradle index 7243bce447b..9d155d119af 100644 --- a/idea/testData/gradle/multiplatform/jsTestOutputFile/build.gradle +++ b/idea/testData/gradle/multiplatform/jsTestOutputFile/build.gradle @@ -5,7 +5,9 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.51") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.1.51') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") classpath 'com.android.tools.build:gradle:2.3.3' } } diff --git a/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/build.gradle b/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/build.gradle index 4187ba3302c..4e8642eb0c2 100644 --- a/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/build.gradle +++ b/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/build.gradle @@ -5,7 +5,9 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.51") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.1.51') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") classpath 'com.android.tools.build:gradle:2.3.3' } } diff --git a/idea/testData/gradle/multiplatform/multiProject/build.gradle b/idea/testData/gradle/multiplatform/multiProject/build.gradle index ad99760d5da..fd8a740e378 100644 --- a/idea/testData/gradle/multiplatform/multiProject/build.gradle +++ b/idea/testData/gradle/multiplatform/multiProject/build.gradle @@ -4,7 +4,9 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.1.0') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/multiplatform/platformToCommonDependency/build.gradle b/idea/testData/gradle/multiplatform/platformToCommonDependency/build.gradle index 383955eb1eb..d0e158bbf2d 100644 --- a/idea/testData/gradle/multiplatform/platformToCommonDependency/build.gradle +++ b/idea/testData/gradle/multiplatform/platformToCommonDependency/build.gradle @@ -4,7 +4,9 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.1.0') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/multiplatform/platformToCommonDependencyRoot/build.gradle b/idea/testData/gradle/multiplatform/platformToCommonDependencyRoot/build.gradle index f96b529169b..8cc4d4fa0c0 100644 --- a/idea/testData/gradle/multiplatform/platformToCommonDependencyRoot/build.gradle +++ b/idea/testData/gradle/multiplatform/platformToCommonDependencyRoot/build.gradle @@ -4,7 +4,9 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.0") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.1.0') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/multiplatform/platformToCommonExpByInComposite/build.gradle b/idea/testData/gradle/multiplatform/platformToCommonExpByInComposite/build.gradle new file mode 100644 index 00000000000..364756e3fd9 --- /dev/null +++ b/idea/testData/gradle/multiplatform/platformToCommonExpByInComposite/build.gradle @@ -0,0 +1,14 @@ +buildscript { + repositories { + mavenCentral() + maven { url 'http://dl.bintray.com/kotlin/kotlin-dev' } + } + + dependencies { + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.2.0-beta-74') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") + } +} + +apply plugin: 'kotlin' \ No newline at end of file diff --git a/idea/testData/gradle/multiplatform/platformToCommonExpectedByDependencyInComposite/settings.gradle b/idea/testData/gradle/multiplatform/platformToCommonExpByInComposite/settings.gradle similarity index 100% rename from idea/testData/gradle/multiplatform/platformToCommonExpectedByDependencyInComposite/settings.gradle rename to idea/testData/gradle/multiplatform/platformToCommonExpByInComposite/settings.gradle diff --git a/idea/testData/gradle/multiplatform/platformToCommonExpectedByDependencyInComposite/toInclude/build.gradle b/idea/testData/gradle/multiplatform/platformToCommonExpByInComposite/toInclude/build.gradle similarity index 83% rename from idea/testData/gradle/multiplatform/platformToCommonExpectedByDependencyInComposite/toInclude/build.gradle rename to idea/testData/gradle/multiplatform/platformToCommonExpByInComposite/toInclude/build.gradle index fb4ba6a65c1..b5ad3dc6191 100644 --- a/idea/testData/gradle/multiplatform/platformToCommonExpectedByDependencyInComposite/toInclude/build.gradle +++ b/idea/testData/gradle/multiplatform/platformToCommonExpByInComposite/toInclude/build.gradle @@ -6,7 +6,9 @@ } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.0-beta-74") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.2.0-beta-74') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/multiplatform/platformToCommonExpectedByDependencyInComposite/toInclude/settings.gradle b/idea/testData/gradle/multiplatform/platformToCommonExpByInComposite/toInclude/settings.gradle similarity index 100% rename from idea/testData/gradle/multiplatform/platformToCommonExpectedByDependencyInComposite/toInclude/settings.gradle rename to idea/testData/gradle/multiplatform/platformToCommonExpByInComposite/toInclude/settings.gradle diff --git a/idea/testData/gradle/multiplatform/platformToCommonExpectedByDependency/build.gradle b/idea/testData/gradle/multiplatform/platformToCommonExpectedByDependency/build.gradle index 35864cb20d3..e440eb9fd30 100644 --- a/idea/testData/gradle/multiplatform/platformToCommonExpectedByDependency/build.gradle +++ b/idea/testData/gradle/multiplatform/platformToCommonExpectedByDependency/build.gradle @@ -5,7 +5,9 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.40-dev-610") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.2.40-dev-610') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/multiplatform/platformToCommonExpectedByDependencyInComposite/build.gradle b/idea/testData/gradle/multiplatform/platformToCommonExpectedByDependencyInComposite/build.gradle deleted file mode 100644 index 748a4300b0f..00000000000 --- a/idea/testData/gradle/multiplatform/platformToCommonExpectedByDependencyInComposite/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -buildscript { - repositories { - mavenCentral() - maven { url 'http://dl.bintray.com/kotlin/kotlin-dev' } - } - - dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.0-beta-74") - } -} - -apply plugin: 'kotlin' \ No newline at end of file diff --git a/idea/testData/gradle/multiplatform/simpleAndroidAppWithCommonModule/build.gradle b/idea/testData/gradle/multiplatform/simpleAndroidAppWithCommonModule/build.gradle index 1def5dca1c7..3eeaa2f531c 100644 --- a/idea/testData/gradle/multiplatform/simpleAndroidAppWithCommonModule/build.gradle +++ b/idea/testData/gradle/multiplatform/simpleAndroidAppWithCommonModule/build.gradle @@ -5,7 +5,9 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.41") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.2.41') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") classpath 'com.android.tools.build:gradle:2.3.3' } } diff --git a/idea/testData/gradle/multiplatform/transitiveImplement/build.gradle b/idea/testData/gradle/multiplatform/transitiveImplement/build.gradle index af0b75567e3..5c4024ae4c2 100644 --- a/idea/testData/gradle/multiplatform/transitiveImplement/build.gradle +++ b/idea/testData/gradle/multiplatform/transitiveImplement/build.gradle @@ -4,7 +4,9 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.51") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.1.51') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/build.gradle b/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/build.gradle index ea40b9abfa4..837e6e4fdbd 100644 --- a/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/build.gradle +++ b/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/build.gradle @@ -5,7 +5,9 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.51") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.1.51') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") classpath 'com.android.tools.build:gradle:2.3.3' } } diff --git a/idea/testData/gradle/multiplatform/transitiveImplementWithNonDefaultConfig/build.gradle b/idea/testData/gradle/multiplatform/transitiveImplementWithNonDefaultConfig/build.gradle index d7008c988b2..91f25182773 100644 --- a/idea/testData/gradle/multiplatform/transitiveImplementWithNonDefaultConfig/build.gradle +++ b/idea/testData/gradle/multiplatform/transitiveImplementWithNonDefaultConfig/build.gradle @@ -4,7 +4,9 @@ buildscript { } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.31") + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.2.31') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/newMultiplatformImport/androidDependencyOnMPP/build.gradle b/idea/testData/gradle/newMultiplatformImport/androidDependencyOnMPP/build.gradle index d11d88a02e3..4f93ca197d8 100644 --- a/idea/testData/gradle/newMultiplatformImport/androidDependencyOnMPP/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/androidDependencyOnMPP/build.gradle @@ -7,7 +7,9 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.0-rc-146" + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.3.0-rc-146') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/newMultiplatformImport/dependencyOnRoot/build.gradle b/idea/testData/gradle/newMultiplatformImport/dependencyOnRoot/build.gradle index d632f537472..4774e50762f 100644 --- a/idea/testData/gradle/newMultiplatformImport/dependencyOnRoot/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/dependencyOnRoot/build.gradle @@ -4,7 +4,9 @@ buildscript { jcenter() } dependencies { - classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.10' + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.3.10') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/newMultiplatformImport/fileCollectionDependency/build.gradle b/idea/testData/gradle/newMultiplatformImport/fileCollectionDependency/build.gradle index 0a85c19ed16..ed9496b09fa 100644 --- a/idea/testData/gradle/newMultiplatformImport/fileCollectionDependency/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/fileCollectionDependency/build.gradle @@ -5,7 +5,9 @@ buildscript { maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } } dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.0-rc-146" + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.3.0-rc-146') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/newMultiplatformImport/nestedDependencies/build.gradle b/idea/testData/gradle/newMultiplatformImport/nestedDependencies/build.gradle index 6be2bc7bd9a..f74eeb6a739 100644 --- a/idea/testData/gradle/newMultiplatformImport/nestedDependencies/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/nestedDependencies/build.gradle @@ -5,7 +5,9 @@ buildscript { maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } } dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.0-rc-146" + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.3.0-rc-146') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/newMultiplatformImport/projectDependency/build.gradle b/idea/testData/gradle/newMultiplatformImport/projectDependency/build.gradle index 556abd44b7b..5c5f7ba5f99 100644 --- a/idea/testData/gradle/newMultiplatformImport/projectDependency/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/projectDependency/build.gradle @@ -5,7 +5,9 @@ buildscript { maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } } dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.0-rc-146" + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.3.0-rc-146') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } diff --git a/idea/testData/gradle/newMultiplatformImport/unresolvedDependency/build.gradle b/idea/testData/gradle/newMultiplatformImport/unresolvedDependency/build.gradle index 5755fdc6e50..a930ced8f98 100644 --- a/idea/testData/gradle/newMultiplatformImport/unresolvedDependency/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/unresolvedDependency/build.gradle @@ -5,7 +5,9 @@ buildscript { maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } } dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.0-rc-146" + apply from: "include.gradle" + def kotlinVersion = gradleKotlinPluginVersion('1.3.0-rc-146') + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } }