From e963b719216a55a5b43051f9c005a0f3186fd9cb Mon Sep 17 00:00:00 2001 From: Andrey Uskov Date: Wed, 13 Nov 2019 20:11:32 +0300 Subject: [PATCH] Tests of import with latest gradle plugin are implemented --- idea/idea-gradle/build.gradle.kts | 1 + ...chicalMultiplatformProjectImportingTest.kt | 1 + .../NewMultiplatformProjectImportingTest.kt | 1 + ...plePluginVersionGradleImportingTestCase.kt | 79 ++++++++++++++++--- .../importHMPPFlag/build.gradle.kts | 17 +++- .../importHMPPFlag/settings.gradle.kts | 4 +- .../build.gradle.kts | 16 +++- .../settings.gradle.kts | 4 +- .../jvmWithJavaOnHMPP/build.gradle | 11 +-- .../jvmWithJavaOnHMPP/gradle.properties | 1 - .../jvmWithJavaOnHMPP/hmpp-mod-a/build.gradle | 11 +-- .../jvmWithJavaOnHMPP/jvm-mod/build.gradle | 4 +- .../jvmWithJavaOnHMPP/settings.gradle | 10 +-- .../build.gradle | 45 +---------- .../project1/build.gradle | 13 +++ .../project2/build.gradle | 21 +++++ .../project3/build.gradle | 35 ++++++++ .../build.gradle | 2 +- .../build.gradle | 59 +------------- .../project1/build.gradle | 5 ++ .../project2/build.gradle | 14 ++++ .../project3/build.gradle | 29 +++++++ .../androidDependencyOnMPP/build.gradle | 1 + .../commonTestTargetPlatform/build.gradle | 1 + .../dependencyOnRoot/build.gradle | 1 + .../detectAndroidSources/build.gradle | 1 + .../fileCollectionDependency/build.gradle | 1 + .../importBeforeBuild/build.gradle | 11 ++- .../importTestsAndTargets/build.gradle | 20 +++-- .../importTestsAndTargets/settings.gradle | 7 -- .../javaTransitiveOnMPP/build.gradle | 1 + .../jvmWithJava/build.gradle | 1 + .../jvmWithJava/gradle.properties | 2 +- .../jvmWithJava/mpp-mod-a/build.gradle | 17 ---- .../nestedDependencies/build.gradle | 1 + .../build.gradle | 1 + .../toInclude/build.gradle | 3 +- .../productionOnTestFlag/build.gradle | 1 + .../projectDependency/build.gradle | 1 + .../runtimeClasspath/build.gradle | 1 + .../singleAndroidTarget/app/build.gradle | 1 + .../testTasks/build.gradle | 1 + .../unresolvedDependency/build.gradle | 1 + 43 files changed, 271 insertions(+), 187 deletions(-) create mode 100644 idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/project1/build.gradle create mode 100644 idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/project2/build.gradle create mode 100644 idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/project3/build.gradle create mode 100644 idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/project1/build.gradle create mode 100644 idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/project2/build.gradle create mode 100644 idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/project3/build.gradle diff --git a/idea/idea-gradle/build.gradle.kts b/idea/idea-gradle/build.gradle.kts index 77eeaab9964..b9ec43c97b5 100644 --- a/idea/idea-gradle/build.gradle.kts +++ b/idea/idea-gradle/build.gradle.kts @@ -58,6 +58,7 @@ dependencies { testRuntime(project(":noarg-ide-plugin")) testRuntime(project(":kotlin-scripting-idea")) testRuntime(project(":kotlinx-serialization-ide-plugin")) + testRuntime(project(":kotlin-gradle-plugin")) // TODO: the order of the plugins matters here, consider avoiding order-dependency testRuntime(intellijPluginDep("junit")) testRuntime(intellijPluginDep("testng")) diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/HierarchicalMultiplatformProjectImportingTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/HierarchicalMultiplatformProjectImportingTest.kt index 2a554ef5af9..fc82bae0d20 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/HierarchicalMultiplatformProjectImportingTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/HierarchicalMultiplatformProjectImportingTest.kt @@ -329,6 +329,7 @@ class HierarchicalMultiplatformProjectImportingTest : MultiplePluginVersionGradl libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - stdlib", DependencyScope.PROVIDED) libraryDependency("Kotlin/Native ${gradleKotlinPluginVersion} - zlib [linux_x64]", DependencyScope.PROVIDED) } + module("jvm-on-mpp.hmpp-mod-a.main") {} module("jvm-on-mpp.hmpp-mod-a.test") {} } 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 a0ef81ee1c7..a521e9f36de 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt @@ -812,6 +812,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin } @Test + @PluginTargetVersions(gradleVersion = "4.0+", pluginVersion = "1.3.30+") fun testJvmWithJava() { configureByFiles() importProject(true) 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 index 58907a239c3..c4dc4fcf7d6 100644 --- 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 @@ -13,6 +13,7 @@ import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.VirtualFile import org.junit.Rule import org.junit.runners.Parameterized +import java.io.File import java.util.* abstract class MultiplePluginVersionGradleImportingTestCase : GradleImportingTestCase() { @@ -42,13 +43,21 @@ abstract class MultiplePluginVersionGradleImportingTestCase : GradleImportingTes const val MINIMAL_SUPPORTED_VERSION = "minimal"// minimal supported version const val LATEST_STABLE_VERSUON = "latest stable" const val LATEST_SUPPORTED_VERSION = "master"// gradle plugin from current build - private val KOTLIN_GRADLE_PLUGIN_VERSIONS = listOf(MINIMAL_SUPPORTED_VERSION, LATEST_STABLE_VERSUON/*, LATEST_SUPPORTED_VERSION*/) + + //should be extended with LATEST_SUPPORTED_VERSION + private val KOTLIN_GRADLE_PLUGIN_VERSIONS = listOf(MINIMAL_SUPPORTED_VERSION, LATEST_STABLE_VERSUON) private val KOTLIN_GRADLE_PLUGIN_VERSION_DESCRIPTION_TO_VERSION = mapOf( MINIMAL_SUPPORTED_VERSION to MINIMAL_SUPPORTED_GRADLE_PLUGIN_VERSION, LATEST_STABLE_VERSUON to LATEST_STABLE_GRADLE_PLUGIN_VERSION, - LATEST_SUPPORTED_VERSION to "master" + LATEST_SUPPORTED_VERSION to readPluginVersion() ) + private fun readPluginVersion() = + File("libraries/tools/kotlin-gradle-plugin/build/libs").listFiles()?.map { it.name }?.firstOrNull { it.contains("-original.jar") }?.replace( + "kotlin-gradle-plugin-", + "" + )?.replace("-original.jar", "") ?: "1.3-SNAPSHOT" + @JvmStatic @Parameterized.Parameters(name = "{index}: Gradle-{0}, KotlinGradlePlugin-{1}") fun data(): Collection> { @@ -63,17 +72,67 @@ abstract class MultiplePluginVersionGradleImportingTestCase : GradleImportingTes } } + fun repositories(useKts: Boolean, useMaster: Boolean): String { + val flatDirs = arrayOf( + "libraries/tools/kotlin-gradle-plugin/build/libs", + "libraries/tools/kotlin-gradle-plugin/build/libs", + "prepare/compiler-client-embeddable/build/libs", + "prepare/compiler-embeddable/build/libs", + "libraries/tools/kotlin-gradle-plugin-api/build/libs", + "compiler/compiler-runner/build/libs", + "libraries/tools/kotlin-gradle-plugin-model/build/libs", + "plugins/scripting/scripting-compiler-embeddable/build/libs", + "konan/utils/build/libs" + ) + val customRepositories = arrayOf("https://dl.bintray.com/kotlin/kotlin-dev", "http://dl.bintray.com/kotlin/kotlin-eap") + val customMavenRepositories = customRepositories.map { if (useKts) "maven { setUrl(\"$it\") }" else "maven { url '$it' } " }.joinToString("\n") + val baseFolder = File(".").absolutePath.replace("\\", "/") + val quote = if (useKts) '"' else '\'' + val flatDirRepositories = if (useMaster) + flatDirs.map { "$quote$baseFolder/$it$quote" }.joinToString( + ",\n", + if (useKts) "flatDir { dirs(" else "flatDir { dirs ", + if (useKts) ")}" else "}" + ) + else + "" + return """ + google() + jcenter() + $customMavenRepositories + $flatDirRepositories + """.trimIndent() + } + override fun configureByFiles(properties: Map?): List { val unitedProperties = HashMap(properties ?: emptyMap()) unitedProperties["kotlin_plugin_version"] = gradleKotlinPluginVersion - unitedProperties["kotlin_plugin_repositories"] = """ - google() - jcenter() - maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } - maven { url 'http://dl.bintray.com/kotlin/kotlin-eap' } - mavenLocal() - //maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } - """.trimIndent() + + unitedProperties["kotlin_plugin_repositories"] = repositories(false, gradleKotlinPluginVersionType == LATEST_SUPPORTED_VERSION) + unitedProperties["kts_kotlin_plugin_repositories"] = repositories(true, gradleKotlinPluginVersionType == LATEST_SUPPORTED_VERSION) + + unitedProperties["extraPluginDependencies"] = if (gradleKotlinPluginVersionType == LATEST_SUPPORTED_VERSION) + """ + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$gradleKotlinPluginVersion") + classpath("org.jetbrains.kotlin:kotlin-compiler-embeddable:$gradleKotlinPluginVersion") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin-api:$gradleKotlinPluginVersion") + classpath("org.jetbrains.kotlin:kotlin-native-utils:$gradleKotlinPluginVersion") + classpath("org.jetbrains.kotlin:kotlin-compiler-runner:$gradleKotlinPluginVersion") + classpath("org.jetbrains.kotlin:kotlin-compiler-client-embeddable:$gradleKotlinPluginVersion") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin-model:$gradleKotlinPluginVersion") + """.trimIndent() + else + "" + + unitedProperties["kts_resolution_strategy"] = if (gradleKotlinPluginVersionType == LATEST_SUPPORTED_VERSION) + """resolutionStrategy { + eachPlugin { + if(requested.id.id == "org.jetbrains.kotlin.multiplatform") { + useModule("org.jetbrains.kotlin:kotlin-gradle-plugin:$gradleKotlinPluginVersion") + } + } + }""".trimIndent() + else "" return super.configureByFiles(unitedProperties) } } diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/importHMPPFlag/build.gradle.kts b/idea/testData/gradle/hierarchicalMultiplatformImport/importHMPPFlag/build.gradle.kts index 7169fd22c85..8e934d54e47 100644 --- a/idea/testData/gradle/hierarchicalMultiplatformImport/importHMPPFlag/build.gradle.kts +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/importHMPPFlag/build.gradle.kts @@ -1,11 +1,20 @@ +buildscript { + repositories { + {{kts_kotlin_plugin_repositories}} + } + dependencies { + {{extraPluginDependencies}} + } +} + +repositories { + {{kts_kotlin_plugin_repositories}} +} + plugins { kotlin("multiplatform").version("{{kotlin_plugin_version}}") } -repositories { - maven("https://kotlin.bintray.com/kotlin-dev") - jcenter() -} group = "project" version = "1.0" diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/importHMPPFlag/settings.gradle.kts b/idea/testData/gradle/hierarchicalMultiplatformImport/importHMPPFlag/settings.gradle.kts index 53bf7c7541d..f0c8d39c470 100644 --- a/idea/testData/gradle/hierarchicalMultiplatformImport/importHMPPFlag/settings.gradle.kts +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/importHMPPFlag/settings.gradle.kts @@ -1,8 +1,8 @@ pluginManagement { repositories { - maven("https://dl.bintray.com/kotlin/kotlin-dev") - gradlePluginPortal() + {{kts_kotlin_plugin_repositories}} } + {{kts_resolution_strategy}} } rootProject.name = "my-app" diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/importIntermediateModules/build.gradle.kts b/idea/testData/gradle/hierarchicalMultiplatformImport/importIntermediateModules/build.gradle.kts index 534b87c8267..e6f59f11f67 100644 --- a/idea/testData/gradle/hierarchicalMultiplatformImport/importIntermediateModules/build.gradle.kts +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/importIntermediateModules/build.gradle.kts @@ -1,10 +1,18 @@ -plugins { - kotlin("multiplatform").version("{{kotlin_plugin_version}}") +buildscript { + repositories { + {{kts_kotlin_plugin_repositories}} + } + dependencies { + {{extraPluginDependencies}} + } } repositories { - maven("https://kotlin.bintray.com/kotlin-dev") - jcenter() + {{kts_kotlin_plugin_repositories}} +} + +plugins { + kotlin("multiplatform").version("{{kotlin_plugin_version}}") } group = "project" diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/importIntermediateModules/settings.gradle.kts b/idea/testData/gradle/hierarchicalMultiplatformImport/importIntermediateModules/settings.gradle.kts index 53bf7c7541d..f0c8d39c470 100644 --- a/idea/testData/gradle/hierarchicalMultiplatformImport/importIntermediateModules/settings.gradle.kts +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/importIntermediateModules/settings.gradle.kts @@ -1,8 +1,8 @@ pluginManagement { repositories { - maven("https://dl.bintray.com/kotlin/kotlin-dev") - gradlePluginPortal() + {{kts_kotlin_plugin_repositories}} } + {{kts_resolution_strategy}} } rootProject.name = "my-app" diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/build.gradle b/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/build.gradle index f5f2e2bbcfe..99cc87b3563 100644 --- a/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/build.gradle +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/build.gradle @@ -1,21 +1,18 @@ buildscript { repositories { - mavenLocal() - jcenter() - maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } + {{kotlin_plugin_repositories}} } dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}" + {{extraPluginDependencies}} } } allprojects { repositories { - mavenLocal() - jcenter() - maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } + {{kotlin_plugin_repositories}} } } diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/gradle.properties b/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/gradle.properties index 5a4435de063..93096d79fd0 100644 --- a/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/gradle.properties +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/gradle.properties @@ -1,4 +1,3 @@ -kotlin_version = {{kotlin_plugin_version}} coroutines_version = 1.1.1 moowork_node = 1.2.0 diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/hmpp-mod-a/build.gradle b/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/hmpp-mod-a/build.gradle index a9f4355a615..3c0a984181c 100644 --- a/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/hmpp-mod-a/build.gradle +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/hmpp-mod-a/build.gradle @@ -4,20 +4,15 @@ apply plugin: 'kotlin-multiplatform' buildscript { dependencies { - classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version" - classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version" + {{extraPluginDependencies}} } repositories { - mavenLocal() - jcenter() - maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } + {{kotlin_plugin_repositories}} } } repositories { - mavenLocal() - jcenter() - maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } + {{kotlin_plugin_repositories}} } kotlin { diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/jvm-mod/build.gradle b/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/jvm-mod/build.gradle index b82f6883b34..7f6c6ee35f6 100644 --- a/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/jvm-mod/build.gradle +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/jvm-mod/build.gradle @@ -5,9 +5,7 @@ plugins { version 'unspecified' repositories { - mavenLocal() - jcenter() - maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } + {{kotlin_plugin_repositories}} } dependencies { diff --git a/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/settings.gradle b/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/settings.gradle index f6490172f9d..936966b1582 100644 --- a/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/settings.gradle +++ b/idea/testData/gradle/hierarchicalMultiplatformImport/jvmWithJavaOnHMPP/settings.gradle @@ -1,14 +1,6 @@ pluginManagement { repositories { - maven { url 'http://dl.bintray.com/kotlin/kotlin-dev' } - maven { url 'http://dl.bintray.com/kotlin/kotlin-eap' } - - mavenCentral() - mavenLocal() - jcenter() - - maven { url 'https://dl.bintray.com/qwwdfsad/kotlinx' } - maven { url 'https://plugins.gradle.org/m2/' } + {{kotlin_plugin_repositories}} } } rootProject.name = 'jvm-on-mpp' diff --git a/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/build.gradle b/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/build.gradle index 1ac6fae1168..03365b5a835 100644 --- a/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/build.gradle +++ b/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/build.gradle @@ -6,49 +6,6 @@ buildscript { dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.2.0' } } - -project('project1') { - apply plugin: 'kotlin-platform-common' -} - -project('project2') { - repositories { - mavenCentral() - } - - apply plugin: 'kotlin-platform-js' - - dependencies { - implement project(':project1') - } -} - -project('project3') { - repositories { - mavenCentral() - } - - apply plugin: 'com.android.application' - apply plugin: 'kotlin-android' - - sourceSets { - custom - } - - android { - compileSdkVersion 26 - buildToolsVersion "23.0.1" - defaultConfig { - applicationId "org.jetbrains.kotlin" - minSdkVersion 18 - targetSdkVersion 26 - versionCode 1 - versionName "1.0" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - } - } -} - \ No newline at end of file diff --git a/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/project1/build.gradle b/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/project1/build.gradle new file mode 100644 index 00000000000..1198ef2e83c --- /dev/null +++ b/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/project1/build.gradle @@ -0,0 +1,13 @@ +buildscript { + repositories { + jcenter() + maven { url 'https://maven.google.com' } + } + + dependencies { + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + classpath 'com.android.tools.build:gradle:3.0.0' + } +} + +apply plugin: 'kotlin-platform-common' diff --git a/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/project2/build.gradle b/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/project2/build.gradle new file mode 100644 index 00000000000..e8c8b08b5da --- /dev/null +++ b/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/project2/build.gradle @@ -0,0 +1,21 @@ +buildscript { + repositories { + jcenter() + maven { url 'https://maven.google.com' } + } + + dependencies { + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + classpath 'com.android.tools.build:gradle:3.0.0' + } +} + +repositories { + mavenCentral() +} + +apply plugin: 'kotlin-platform-js' + +dependencies { + implement project(':project1') +} diff --git a/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/project3/build.gradle b/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/project3/build.gradle new file mode 100644 index 00000000000..8a15c7ddad4 --- /dev/null +++ b/idea/testData/gradle/multiplatform/jsTestOutputFileInProjectWithAndroid/project3/build.gradle @@ -0,0 +1,35 @@ +buildscript { + repositories { + jcenter() + maven { url 'https://maven.google.com' } + } + + dependencies { + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + classpath 'com.android.tools.build:gradle:3.0.0' + } +} + +repositories { + mavenCentral() +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +sourceSets { + custom +} + +android { + compileSdkVersion 26 + buildToolsVersion "26.0.2" + defaultConfig { + applicationId "org.jetbrains.kotlin" + minSdkVersion 18 + targetSdkVersion 26 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } +} diff --git a/idea/testData/gradle/multiplatform/simpleAndroidAppWithCommonModule/build.gradle b/idea/testData/gradle/multiplatform/simpleAndroidAppWithCommonModule/build.gradle index 8c655f65054..4c344ddd6ef 100644 --- a/idea/testData/gradle/multiplatform/simpleAndroidAppWithCommonModule/build.gradle +++ b/idea/testData/gradle/multiplatform/simpleAndroidAppWithCommonModule/build.gradle @@ -6,7 +6,7 @@ buildscript { dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.2.0' } } diff --git a/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/build.gradle b/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/build.gradle index 61c6e1664fb..03365b5a835 100644 --- a/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/build.gradle +++ b/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/build.gradle @@ -6,63 +6,6 @@ buildscript { dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.2.0' } } - -project('project1') { - apply plugin: 'kotlin-platform-common' - - sourceSets { - custom - } -} - -project('project2') { - repositories { - mavenCentral() - } - - apply plugin: 'kotlin-platform-jvm' - - sourceSets { - custom - } - - dependencies { - implement project(':project1') - } -} - -project('project3') { - repositories { - mavenCentral() - } - - apply plugin: 'com.android.application' - apply plugin: 'kotlin-android' - - sourceSets { - custom - } - - android { - compileSdkVersion 26 - buildToolsVersion "23.0.1" - defaultConfig { - applicationId "org.jetbrains.kotlin" - minSdkVersion 18 - targetSdkVersion 26 - versionCode 1 - versionName "1.0" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - } - } - - dependencies { - compile project(':project2') - customCompile project(':project2') - testCompile(project(':project2').sourceSets.test.output) - } -} - \ No newline at end of file diff --git a/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/project1/build.gradle b/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/project1/build.gradle new file mode 100644 index 00000000000..edd3d2c5c78 --- /dev/null +++ b/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/project1/build.gradle @@ -0,0 +1,5 @@ +apply plugin: 'kotlin-platform-common' + +sourceSets { + custom +} diff --git a/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/project2/build.gradle b/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/project2/build.gradle new file mode 100644 index 00000000000..76bc4c6b1cd --- /dev/null +++ b/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/project2/build.gradle @@ -0,0 +1,14 @@ + +repositories { + mavenCentral() +} + +apply plugin: 'kotlin-platform-jvm' + +sourceSets { + custom +} + +dependencies { + implement project(':project1') +} diff --git a/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/project3/build.gradle b/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/project3/build.gradle new file mode 100644 index 00000000000..796024f5ac8 --- /dev/null +++ b/idea/testData/gradle/multiplatform/transitiveImplementWithAndroid/project3/build.gradle @@ -0,0 +1,29 @@ +repositories { + mavenCentral() +} + +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +sourceSets { + custom +} + +android { + compileSdkVersion 26 + buildToolsVersion "23.0.1" + defaultConfig { + applicationId "org.jetbrains.kotlin" + minSdkVersion 18 + targetSdkVersion 26 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } +} + +dependencies { + compile project(':project2') + customCompile project(':project2') + testCompile(project(':project2').sourceSets.test.output) +} diff --git a/idea/testData/gradle/newMultiplatformImport/androidDependencyOnMPP/build.gradle b/idea/testData/gradle/newMultiplatformImport/androidDependencyOnMPP/build.gradle index 616fd2d7726..f2eb5f1049c 100644 --- a/idea/testData/gradle/newMultiplatformImport/androidDependencyOnMPP/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/androidDependencyOnMPP/build.gradle @@ -6,6 +6,7 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.2.0' classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/commonTestTargetPlatform/build.gradle b/idea/testData/gradle/newMultiplatformImport/commonTestTargetPlatform/build.gradle index 1d93a1c6fb2..2700fceff20 100644 --- a/idea/testData/gradle/newMultiplatformImport/commonTestTargetPlatform/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/commonTestTargetPlatform/build.gradle @@ -4,6 +4,7 @@ buildscript { } dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + {{extraPluginDependencies}} } } apply plugin: 'kotlin-multiplatform' diff --git a/idea/testData/gradle/newMultiplatformImport/dependencyOnRoot/build.gradle b/idea/testData/gradle/newMultiplatformImport/dependencyOnRoot/build.gradle index d4255e10a4a..154da39037f 100644 --- a/idea/testData/gradle/newMultiplatformImport/dependencyOnRoot/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/dependencyOnRoot/build.gradle @@ -4,6 +4,7 @@ buildscript { } dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/detectAndroidSources/build.gradle b/idea/testData/gradle/newMultiplatformImport/detectAndroidSources/build.gradle index b26e84e6834..ed73af4ff07 100644 --- a/idea/testData/gradle/newMultiplatformImport/detectAndroidSources/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/detectAndroidSources/build.gradle @@ -10,6 +10,7 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/fileCollectionDependency/build.gradle b/idea/testData/gradle/newMultiplatformImport/fileCollectionDependency/build.gradle index 67e50c2fa89..00a358bbdb5 100644 --- a/idea/testData/gradle/newMultiplatformImport/fileCollectionDependency/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/fileCollectionDependency/build.gradle @@ -4,6 +4,7 @@ buildscript { } dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/build.gradle b/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/build.gradle index 30ff2ed311e..e6f5dda0d23 100644 --- a/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/build.gradle @@ -1,7 +1,14 @@ -plugins { - id 'org.jetbrains.kotlin.jvm' version '{{kotlin_plugin_version}}' apply false +buildscript { + repositories { + {{kotlin_plugin_repositories}} + } + dependencies { + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}" + {{extraPluginDependencies}} + } } + allprojects { repositories { {{kotlin_plugin_repositories}} diff --git a/idea/testData/gradle/newMultiplatformImport/importTestsAndTargets/build.gradle b/idea/testData/gradle/newMultiplatformImport/importTestsAndTargets/build.gradle index 8237ba52923..43efa813c07 100644 --- a/idea/testData/gradle/newMultiplatformImport/importTestsAndTargets/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/importTestsAndTargets/build.gradle @@ -1,10 +1,20 @@ -plugins { - id 'org.jetbrains.kotlin.multiplatform' version '{{kotlin_plugin_version}}' -} -repositories { - {{kotlin_plugin_repositories}} +buildscript { + repositories { + {{kotlin_plugin_repositories}} + } + dependencies { + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + {{extraPluginDependencies}} + } } +allprojects { + repositories { + {{kotlin_plugin_repositories}} + } +} + +apply plugin: 'kotlin-multiplatform' group 'com.example' version '0.0.1' diff --git a/idea/testData/gradle/newMultiplatformImport/importTestsAndTargets/settings.gradle b/idea/testData/gradle/newMultiplatformImport/importTestsAndTargets/settings.gradle index 74b4775b32e..4d66cc8c7da 100644 --- a/idea/testData/gradle/newMultiplatformImport/importTestsAndTargets/settings.gradle +++ b/idea/testData/gradle/newMultiplatformImport/importTestsAndTargets/settings.gradle @@ -1,9 +1,2 @@ -pluginManagement { - repositories { - {{kotlin_plugin_repositories}} - } -} rootProject.name = 'project' - - enableFeaturePreview('GRADLE_METADATA') diff --git a/idea/testData/gradle/newMultiplatformImport/javaTransitiveOnMPP/build.gradle b/idea/testData/gradle/newMultiplatformImport/javaTransitiveOnMPP/build.gradle index 85ba1508557..7220206f8f1 100644 --- a/idea/testData/gradle/newMultiplatformImport/javaTransitiveOnMPP/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/javaTransitiveOnMPP/build.gradle @@ -6,6 +6,7 @@ buildscript { } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/jvmWithJava/build.gradle b/idea/testData/gradle/newMultiplatformImport/jvmWithJava/build.gradle index 489557d20eb..941563ba494 100644 --- a/idea/testData/gradle/newMultiplatformImport/jvmWithJava/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/jvmWithJava/build.gradle @@ -5,6 +5,7 @@ buildscript { dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/jvmWithJava/gradle.properties b/idea/testData/gradle/newMultiplatformImport/jvmWithJava/gradle.properties index 87f9533b5f6..b1671db9389 100644 --- a/idea/testData/gradle/newMultiplatformImport/jvmWithJava/gradle.properties +++ b/idea/testData/gradle/newMultiplatformImport/jvmWithJava/gradle.properties @@ -1,4 +1,4 @@ -kotlin_version = 1.3.40 +kotlin_version = {{kotlin_plugin_version}} coroutines_version = 1.1.1 moowork_node = 1.2.0 diff --git a/idea/testData/gradle/newMultiplatformImport/jvmWithJava/mpp-mod-a/build.gradle b/idea/testData/gradle/newMultiplatformImport/jvmWithJava/mpp-mod-a/build.gradle index d4b441305e8..4967aa55059 100644 --- a/idea/testData/gradle/newMultiplatformImport/jvmWithJava/mpp-mod-a/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/jvmWithJava/mpp-mod-a/build.gradle @@ -1,23 +1,6 @@ version '1.0.0' apply plugin: 'kotlin-multiplatform' -apply plugin: 'maven-publish' -apply plugin: 'kotlin-allopen' -apply plugin: 'kotlin-noarg' - -buildscript { - dependencies { - classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version" - classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version" - } - repositories { - {{kotlin_plugin_repositories}} - } -} - -repositories { - {{kotlin_plugin_repositories}} -} kotlin { jvm { diff --git a/idea/testData/gradle/newMultiplatformImport/nestedDependencies/build.gradle b/idea/testData/gradle/newMultiplatformImport/nestedDependencies/build.gradle index c6f48f69871..dbf66e47c80 100644 --- a/idea/testData/gradle/newMultiplatformImport/nestedDependencies/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/nestedDependencies/build.gradle @@ -4,6 +4,7 @@ buildscript { } dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/platformToCommonExpByInComposite/build.gradle b/idea/testData/gradle/newMultiplatformImport/platformToCommonExpByInComposite/build.gradle index ec5c0bc38aa..76108bf77c0 100644 --- a/idea/testData/gradle/newMultiplatformImport/platformToCommonExpByInComposite/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/platformToCommonExpByInComposite/build.gradle @@ -5,6 +5,7 @@ buildscript { dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/platformToCommonExpByInComposite/toInclude/build.gradle b/idea/testData/gradle/newMultiplatformImport/platformToCommonExpByInComposite/toInclude/build.gradle index 74d41b87a05..92511bc0145 100644 --- a/idea/testData/gradle/newMultiplatformImport/platformToCommonExpByInComposite/toInclude/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/platformToCommonExpByInComposite/toInclude/build.gradle @@ -5,6 +5,7 @@ buildscript { dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + {{extraPluginDependencies}} } } @@ -12,10 +13,8 @@ repositories { {{kotlin_plugin_repositories}} } - apply plugin: 'kotlin-multiplatform' - kotlin { jvm() js() diff --git a/idea/testData/gradle/newMultiplatformImport/productionOnTestFlag/build.gradle b/idea/testData/gradle/newMultiplatformImport/productionOnTestFlag/build.gradle index da98dbcff35..fb6a49d5299 100644 --- a/idea/testData/gradle/newMultiplatformImport/productionOnTestFlag/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/productionOnTestFlag/build.gradle @@ -5,6 +5,7 @@ subprojects { } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}" + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/projectDependency/build.gradle b/idea/testData/gradle/newMultiplatformImport/projectDependency/build.gradle index 2c434e2b04a..3c7aff5d68c 100644 --- a/idea/testData/gradle/newMultiplatformImport/projectDependency/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/projectDependency/build.gradle @@ -4,6 +4,7 @@ buildscript { } dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/runtimeClasspath/build.gradle b/idea/testData/gradle/newMultiplatformImport/runtimeClasspath/build.gradle index 85dcf0f43ac..62ab30883a0 100644 --- a/idea/testData/gradle/newMultiplatformImport/runtimeClasspath/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/runtimeClasspath/build.gradle @@ -5,6 +5,7 @@ buildscript { dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/singleAndroidTarget/app/build.gradle b/idea/testData/gradle/newMultiplatformImport/singleAndroidTarget/app/build.gradle index 86074984db2..b4a0dc91415 100644 --- a/idea/testData/gradle/newMultiplatformImport/singleAndroidTarget/app/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/singleAndroidTarget/app/build.gradle @@ -5,6 +5,7 @@ buildscript { dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/testTasks/build.gradle b/idea/testData/gradle/newMultiplatformImport/testTasks/build.gradle index 14338a8ce8e..b00ddb2bc98 100644 --- a/idea/testData/gradle/newMultiplatformImport/testTasks/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/testTasks/build.gradle @@ -5,6 +5,7 @@ buildscript { dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + {{extraPluginDependencies}} } } diff --git a/idea/testData/gradle/newMultiplatformImport/unresolvedDependency/build.gradle b/idea/testData/gradle/newMultiplatformImport/unresolvedDependency/build.gradle index 7898c64066d..833d23c96e1 100644 --- a/idea/testData/gradle/newMultiplatformImport/unresolvedDependency/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/unresolvedDependency/build.gradle @@ -4,6 +4,7 @@ buildscript { } dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:{{kotlin_plugin_version}}") + {{extraPluginDependencies}} } }