From 6ed7e8337886514c858896c0b1a9c6b869fa2e1d Mon Sep 17 00:00:00 2001 From: Evgenii Mazhukin Date: Mon, 23 Oct 2023 13:24:08 +0000 Subject: [PATCH] [IC][MPP] Upgrade tests for incremental scenarios with expect-actual Existing tests were k1-only in CI. Simplified test project, added assertions for native. Switched to the new test Dsl. ^KT-61845 duplicates KT-61590 ^KT-56963 in progress Merge-request: KT-MR-12651 Merged-by: Evgenii Mazhukin --- .../kotlin/gradle/AssociatedCompilationIT.kt | 6 +- .../kotlin/gradle/NewMultiplatformIT.kt | 40 ------- .../ExpectActualIncrementalCompilationIT.kt | 112 ++++++++++++++++++ .../build.gradle.kts | 14 +++ .../settings.gradle.kts | 0 .../src/commonMain/kotlin/Bar.kt | 3 + .../src/commonMain/kotlin/Foo.kt | 3 + .../src/commonMain/kotlin/Value.kt | 1 + .../src/jsMain/kotlin/Bar.kt | 3 + .../src/jsMain/kotlin/FooJs.kt | 1 + .../src/jvmMain/kotlin/Bar.kt | 3 + .../src/jvmMain/kotlin/FooJvm.kt | 1 + .../src/nativeMain/kotlin/Bar.kt | 3 + .../src/nativeMain/kotlin/FooNative.kt | 1 + .../new-mpp-jvm-js-ic/app/build.gradle | 7 -- .../src/commonMain/kotlin/AppCommonClass.kt | 8 -- .../src/commonMain/kotlin/AppCommonDummy.kt | 6 - .../app/src/jsMain/kotlin/AppCommonClassJs.kt | 8 -- .../app/src/jsMain/kotlin/AppJsDummy.kt | 6 - .../src/jsMain/kotlin/useLibJsPlatformUtil.kt | 6 - .../src/jvmMain/kotlin/AppCommonClassJvm.kt | 8 -- .../app/src/jvmMain/kotlin/AppJvmDummy.kt | 6 - .../jvmMain/kotlin/useLibJvmPlatformUtil.kt | 6 - .../new-mpp-jvm-js-ic/build.gradle | 16 --- .../configure-targets.gradle | 24 ---- .../new-mpp-jvm-js-ic/lib/build.gradle | 1 - .../src/commonMain/kotlin/LibCommonClass.kt | 8 -- .../src/commonMain/kotlin/LibCommonDummy.kt | 6 - .../lib/src/jsMain/kotlin/LibCommonClassJs.kt | 8 -- .../lib/src/jsMain/kotlin/LibJsDummy.kt | 6 - .../src/jsMain/kotlin/libJsPlatformUtil.kt | 6 - .../src/jvmMain/kotlin/LibCommonClassJvm.kt | 8 -- .../lib/src/jvmMain/kotlin/LibJvmDummy.kt | 6 - .../src/jvmMain/kotlin/libJvmPlatformUtil.kt | 6 - .../new-mpp-jvm-js-ic/settings.gradle | 1 - 35 files changed, 146 insertions(+), 202 deletions(-) create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/ExpectActualIncrementalCompilationIT.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/build.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/settings.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/commonMain/kotlin/Bar.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/commonMain/kotlin/Foo.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/commonMain/kotlin/Value.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jsMain/kotlin/Bar.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jsMain/kotlin/FooJs.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jvmMain/kotlin/Bar.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jvmMain/kotlin/FooJvm.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/nativeMain/kotlin/Bar.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/nativeMain/kotlin/FooNative.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/build.gradle delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/commonMain/kotlin/AppCommonClass.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/commonMain/kotlin/AppCommonDummy.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jsMain/kotlin/AppCommonClassJs.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jsMain/kotlin/AppJsDummy.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jsMain/kotlin/useLibJsPlatformUtil.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jvmMain/kotlin/AppCommonClassJvm.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jvmMain/kotlin/AppJvmDummy.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jvmMain/kotlin/useLibJvmPlatformUtil.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/build.gradle delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/configure-targets.gradle delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/build.gradle delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/commonMain/kotlin/LibCommonClass.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/commonMain/kotlin/LibCommonDummy.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jsMain/kotlin/LibCommonClassJs.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jsMain/kotlin/LibJsDummy.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jsMain/kotlin/libJsPlatformUtil.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jvmMain/kotlin/LibCommonClassJvm.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jvmMain/kotlin/LibJvmDummy.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jvmMain/kotlin/libJvmPlatformUtil.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/settings.gradle diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AssociatedCompilationIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AssociatedCompilationIT.kt index 28ebce8bfe7..d7dc1ae1f6b 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AssociatedCompilationIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AssociatedCompilationIT.kt @@ -9,15 +9,14 @@ import org.gradle.api.logging.LogLevel import org.gradle.util.GradleVersion import org.jetbrains.kotlin.gradle.testbase.* import org.jetbrains.kotlin.gradle.util.replaceFirst -import org.jetbrains.kotlin.gradle.util.replaceText import org.junit.jupiter.api.DisplayName @DisplayName("Incremental scenarios with associated compilation") +@JvmGradlePluginTests class AssociatedCompilationIT : KGPBaseTest() { override val defaultBuildOptions: BuildOptions get() = super.defaultBuildOptions.copy(logLevel = LogLevel.DEBUG) - @JvmGradlePluginTests @DisplayName("Rebuild forced if associated compilation changes") @GradleTest fun testRebuildOnAssociatedCompilationChange(gradleVersion: GradleVersion) { @@ -38,7 +37,6 @@ class AssociatedCompilationIT : KGPBaseTest() { } } - @JvmGradlePluginTests @DisplayName("Rebuild after used internal ABI change in associated compilation") @GradleTest fun testRebuildOnUsedApiChangeInAssociatedCompilation(gradleVersion: GradleVersion) { @@ -55,7 +53,6 @@ class AssociatedCompilationIT : KGPBaseTest() { } } - @JvmGradlePluginTests @DisplayName("No rebuild after private ABI change in associated compilation") @GradleTest fun testNoRebuildOnPrivateChangeInAssociatedCompilation(gradleVersion: GradleVersion) { @@ -71,7 +68,6 @@ class AssociatedCompilationIT : KGPBaseTest() { } } - @JvmGradlePluginTests @DisplayName("No rebuild after unused ABI change in associated compilation") @GradleTest fun testNoRebuildOnUnusedInternalChangeInAssociatedCompilation(gradleVersion: GradleVersion) { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt index 326eb8f0346..8fa6b8ea049 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt @@ -1372,46 +1372,6 @@ open class NewMultiplatformIT : BaseGradleIT() { } } - @Test - fun testIncrementalCompilation() = with(Project("new-mpp-jvm-js-ic", gradleVersion)) { - setupWorkingDir() - - build("build") { - assertSuccessful() - } - - val libCommonClassKt = projectDir.getFileByName("LibCommonClass.kt") - val libCommonClassJsKt = projectDir.getFileByName("LibCommonClassJs.kt") - libCommonClassJsKt.modify { it.checkedReplace("platform = \"js\"", "platform = \"Kotlin/JS\"") } - - val libCommonClassJvmKt = projectDir.getFileByName("LibCommonClassJvm.kt") - libCommonClassJvmKt.modify { it.checkedReplace("platform = \"jvm\"", "platform = \"Kotlin/JVM\"") } - build("build") { - assertSuccessful() - assertCompiledKotlinSources(project.relativize(libCommonClassKt, libCommonClassJsKt, libCommonClassJvmKt)) - } - - val libJvmPlatformUtilKt = projectDir.getFileByName("libJvmPlatformUtil.kt") - libJvmPlatformUtilKt.modify { - it.checkedReplace("fun libJvmPlatformUtil", "inline fun libJvmPlatformUtil") - } - build("build") { - assertSuccessful() - val useLibJvmPlatformUtilKt = projectDir.getFileByName("useLibJvmPlatformUtil.kt") - assertCompiledKotlinSources(project.relativize(libJvmPlatformUtilKt, useLibJvmPlatformUtilKt)) - } - - val libJsPlatformUtilKt = projectDir.getFileByName("libJsPlatformUtil.kt") - libJsPlatformUtilKt.modify { - it.checkedReplace("fun libJsPlatformUtil", "inline fun libJsPlatformUtil") - } - build("build") { - assertSuccessful() - val useLibJsPlatformUtilKt = projectDir.getFileByName("useLibJsPlatformUtil.kt") - assertCompiledKotlinSources(project.relativize(libJsPlatformUtilKt, useLibJsPlatformUtilKt)) - } - } - @Test fun testPomRewritingInSinglePlatformProject() = with(Project("kt-27059-pom-rewriting")) { setupWorkingDir() diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/ExpectActualIncrementalCompilationIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/ExpectActualIncrementalCompilationIT.kt new file mode 100644 index 00000000000..a9062becb68 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/ExpectActualIncrementalCompilationIT.kt @@ -0,0 +1,112 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.gradle.mpp + +import org.gradle.api.logging.LogLevel +import org.gradle.util.GradleVersion +import org.jetbrains.kotlin.gradle.testbase.* +import org.jetbrains.kotlin.gradle.util.replaceFirst +import org.junit.jupiter.api.DisplayName +import kotlin.io.path.appendText + +@DisplayName("Incremental scenarios with expect/actual - K2") +@MppGradlePluginTests +open class ExpectActualIncrementalCompilationIT : KGPBaseTest() { + override val defaultBuildOptions: BuildOptions + get() = super.defaultBuildOptions.copyEnsuringK2() + + @DisplayName("Base test case - local change, local recompilation") + @GradleTest + fun testStrictlyLocalChange(gradleVersion: GradleVersion) { + nativeProject("expect-actual-fun-or-class-ic", gradleVersion) { + build("assemble") + + val valueKtPath = kotlinSourcesDir("commonMain").resolve("Value.kt") + valueKtPath.appendText("val irrelevant = 2") + + build("assemble", buildOptions = defaultBuildOptions.copy(logLevel = LogLevel.DEBUG)) { + assertTasksExecuted(":compileKotlinJvm", ":compileKotlinJs", ":compileKotlinNative") + assertIncrementalCompilation(listOf(valueKtPath).relativizeTo(projectPath)) + } + } + } + + @DisplayName("File with actual declaration needs recompiling") + @GradleTest + fun testRecompilationOfActualFun(gradleVersion: GradleVersion) { + nativeProject("expect-actual-fun-or-class-ic", gradleVersion) { + build("assemble") + + listOf( + kotlinSourcesDir("jvmMain").resolve("FooJvm.kt"), + kotlinSourcesDir("nativeMain").resolve("FooNative.kt"), + kotlinSourcesDir("jsMain").resolve("FooJs.kt") + ).forEach { + it.replaceFirst("\"foo", "\"bar") + } + + build("assemble", buildOptions = defaultBuildOptions.copy(logLevel = LogLevel.DEBUG)) { + assertTasksExecuted(":compileKotlinJvm", ":compileKotlinJs", ":compileKotlinNative") + assertIncrementalCompilation( + listOf( + kotlinSourcesDir("jvmMain").resolve("FooJvm.kt"), + kotlinSourcesDir("jsMain").resolve("FooJs.kt"), + kotlinSourcesDir("commonMain").resolve("Foo.kt") + ).relativizeTo(projectPath) + ) + } + } + } + + @DisplayName("File with expect declaration needs recompiling indirectly") + @GradleTest + fun testRecompilationOfExpectFun(gradleVersion: GradleVersion) { + nativeProject("expect-actual-fun-or-class-ic", gradleVersion) { + build("assemble") + + val valueKtPath = kotlinSourcesDir("commonMain").resolve("Value.kt") + valueKtPath.replaceFirst( + "val secret = 1", + "val secret = \"k2\"" + ) + + build("assemble", buildOptions = defaultBuildOptions.copy(logLevel = LogLevel.DEBUG)) { + assertTasksExecuted(":compileKotlinJvm", ":compileKotlinJs", ":compileKotlinNative") + assertIncrementalCompilation( + listOf( + kotlinSourcesDir("jvmMain").resolve("FooJvm.kt"), + kotlinSourcesDir("jsMain").resolve("FooJs.kt"), + kotlinSourcesDir("commonMain").resolve("Foo.kt"), + valueKtPath + ).relativizeTo(projectPath) + ) + } + } + } + + @DisplayName("File with expect class declaration needs recompiling") + @GradleTest + fun testRecompilationOfExpectClass(gradleVersion: GradleVersion) { + nativeProject("expect-actual-fun-or-class-ic", gradleVersion) { + build("assemble") + + kotlinSourcesDir("commonMain").resolve("Bar.kt").appendText("val irrelevant = 2") + + build("assemble", buildOptions = defaultBuildOptions.copy(logLevel = LogLevel.DEBUG)) { + assertTasksExecuted(":compileKotlinJvm", ":compileKotlinJs", ":compileKotlinNative") + assertIncrementalCompilation(listOf("commonMain", "jvmMain", "jsMain").map { sourceSet -> + kotlinSourcesDir(sourceSet).resolve("Bar.kt") + }.relativizeTo(projectPath)) + } + } + } +} + +@DisplayName("Incremental scenarios with expect/actual - K1") +class ExpectActualIncrementalCompilationK1IT : ExpectActualIncrementalCompilationIT() { + override val defaultBuildOptions: BuildOptions + get() = super.defaultBuildOptions.copyEnsuringK1() +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/build.gradle.kts new file mode 100644 index 00000000000..abda245c5dd --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/build.gradle.kts @@ -0,0 +1,14 @@ +plugins { + kotlin("multiplatform") +} + +repositories { + mavenLocal() + mavenCentral() +} + +kotlin { + jvm() + js(IR) { browser { } } + ("native") +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/settings.gradle.kts new file mode 100644 index 00000000000..e69de29bb2d diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/commonMain/kotlin/Bar.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/commonMain/kotlin/Bar.kt new file mode 100644 index 00000000000..6adb8cb9f68 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/commonMain/kotlin/Bar.kt @@ -0,0 +1,3 @@ +expect class Bar { + val version: Int +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/commonMain/kotlin/Foo.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/commonMain/kotlin/Foo.kt new file mode 100644 index 00000000000..dc7b023d1ed --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/commonMain/kotlin/Foo.kt @@ -0,0 +1,3 @@ +expect fun foo(): Any + +fun fooImpl() = secret \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/commonMain/kotlin/Value.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/commonMain/kotlin/Value.kt new file mode 100644 index 00000000000..8f31e8457d8 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/commonMain/kotlin/Value.kt @@ -0,0 +1 @@ +val secret = 1 diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jsMain/kotlin/Bar.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jsMain/kotlin/Bar.kt new file mode 100644 index 00000000000..0ec6eb14a0e --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jsMain/kotlin/Bar.kt @@ -0,0 +1,3 @@ +actual class Bar { + actual val version: Int = 2 +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jsMain/kotlin/FooJs.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jsMain/kotlin/FooJs.kt new file mode 100644 index 00000000000..f6fddda3d36 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jsMain/kotlin/FooJs.kt @@ -0,0 +1 @@ +actual fun foo(): Any = "fooJs" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jvmMain/kotlin/Bar.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jvmMain/kotlin/Bar.kt new file mode 100644 index 00000000000..bac1bcc7e6f --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jvmMain/kotlin/Bar.kt @@ -0,0 +1,3 @@ +actual class Bar { + actual val version: Int = 3 +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jvmMain/kotlin/FooJvm.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jvmMain/kotlin/FooJvm.kt new file mode 100644 index 00000000000..b701f31f06f --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/jvmMain/kotlin/FooJvm.kt @@ -0,0 +1 @@ +actual fun foo(): Any = "fooJvm" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/nativeMain/kotlin/Bar.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/nativeMain/kotlin/Bar.kt new file mode 100644 index 00000000000..37402c7f4ce --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/nativeMain/kotlin/Bar.kt @@ -0,0 +1,3 @@ +actual class Bar { + actual val version: Int = 1 +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/nativeMain/kotlin/FooNative.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/nativeMain/kotlin/FooNative.kt new file mode 100644 index 00000000000..14819464516 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/expect-actual-fun-or-class-ic/src/nativeMain/kotlin/FooNative.kt @@ -0,0 +1 @@ +actual fun foo(): Any = "fooNative" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/build.gradle deleted file mode 100644 index aae3b07b376..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/build.gradle +++ /dev/null @@ -1,7 +0,0 @@ -apply from: "$rootDir/configure-targets.gradle" - -kotlin.sourceSets.commonMain { - dependencies { - implementation project(":lib") - } -} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/commonMain/kotlin/AppCommonClass.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/commonMain/kotlin/AppCommonClass.kt deleted file mode 100644 index 4cf0836613d..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/commonMain/kotlin/AppCommonClass.kt +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -expect class AppCommonClass { - val platform: String -} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/commonMain/kotlin/AppCommonDummy.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/commonMain/kotlin/AppCommonDummy.kt deleted file mode 100644 index f849af759a6..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/commonMain/kotlin/AppCommonDummy.kt +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -class AppCommonDummy \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jsMain/kotlin/AppCommonClassJs.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jsMain/kotlin/AppCommonClassJs.kt deleted file mode 100644 index 0f15fd9a680..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jsMain/kotlin/AppCommonClassJs.kt +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -actual class AppCommonClass { - actual val platform = "js" -} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jsMain/kotlin/AppJsDummy.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jsMain/kotlin/AppJsDummy.kt deleted file mode 100644 index 77a51ba16ed..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jsMain/kotlin/AppJsDummy.kt +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -class AppJsDummy \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jsMain/kotlin/useLibJsPlatformUtil.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jsMain/kotlin/useLibJsPlatformUtil.kt deleted file mode 100644 index 215ff9efb70..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jsMain/kotlin/useLibJsPlatformUtil.kt +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -fun useLibJsPlatformUtil() = libJsPlatformUtil() \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jvmMain/kotlin/AppCommonClassJvm.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jvmMain/kotlin/AppCommonClassJvm.kt deleted file mode 100644 index f736e4b7cdc..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jvmMain/kotlin/AppCommonClassJvm.kt +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -actual class AppCommonClass { - actual val platform = "jvm" -} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jvmMain/kotlin/AppJvmDummy.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jvmMain/kotlin/AppJvmDummy.kt deleted file mode 100644 index d6799fa744a..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jvmMain/kotlin/AppJvmDummy.kt +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -class AppJvmDummy \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jvmMain/kotlin/useLibJvmPlatformUtil.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jvmMain/kotlin/useLibJvmPlatformUtil.kt deleted file mode 100644 index d6f3b027149..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/app/src/jvmMain/kotlin/useLibJvmPlatformUtil.kt +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -fun useLibJvmPlatformUtil() = libJvmPlatformUtil() \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/build.gradle deleted file mode 100644 index f77f5a2d8c3..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/build.gradle +++ /dev/null @@ -1,16 +0,0 @@ -buildscript { - repositories { - mavenLocal() - mavenCentral() - } - dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -subprojects { - repositories { - mavenLocal() - mavenCentral() - } -} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/configure-targets.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/configure-targets.gradle deleted file mode 100644 index 8ef48570373..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/configure-targets.gradle +++ /dev/null @@ -1,24 +0,0 @@ -apply plugin: "kotlin-multiplatform" - -kotlin { - jvm {} - js(IR) {} - - sourceSets { - commonMain { - dependencies { - implementation 'org.jetbrains.kotlin:kotlin-stdlib-common' - } - } - jvmMain { - dependencies { - implementation 'org.jetbrains.kotlin:kotlin-stdlib' - } - } - jsMain { - dependencies { - implementation 'org.jetbrains.kotlin:kotlin-stdlib-js' - } - } - } -} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/build.gradle deleted file mode 100644 index d6b34af43a5..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/build.gradle +++ /dev/null @@ -1 +0,0 @@ -apply from: "$rootDir/configure-targets.gradle" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/commonMain/kotlin/LibCommonClass.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/commonMain/kotlin/LibCommonClass.kt deleted file mode 100644 index 69da4a2dc91..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/commonMain/kotlin/LibCommonClass.kt +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -expect class LibCommonClass { - val platform: String -} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/commonMain/kotlin/LibCommonDummy.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/commonMain/kotlin/LibCommonDummy.kt deleted file mode 100644 index c04b8e97c21..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/commonMain/kotlin/LibCommonDummy.kt +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -class LibCommonDummy \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jsMain/kotlin/LibCommonClassJs.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jsMain/kotlin/LibCommonClassJs.kt deleted file mode 100644 index a23c6955378..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jsMain/kotlin/LibCommonClassJs.kt +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -actual class LibCommonClass { - actual val platform = "js" -} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jsMain/kotlin/LibJsDummy.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jsMain/kotlin/LibJsDummy.kt deleted file mode 100644 index 75b9df7d029..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jsMain/kotlin/LibJsDummy.kt +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -class LibJsDummy \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jsMain/kotlin/libJsPlatformUtil.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jsMain/kotlin/libJsPlatformUtil.kt deleted file mode 100644 index 829c28190ea..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jsMain/kotlin/libJsPlatformUtil.kt +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -fun libJsPlatformUtil(): Int = 0 diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jvmMain/kotlin/LibCommonClassJvm.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jvmMain/kotlin/LibCommonClassJvm.kt deleted file mode 100644 index 7726697320b..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jvmMain/kotlin/LibCommonClassJvm.kt +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -actual class LibCommonClass { - actual val platform = "jvm" -} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jvmMain/kotlin/LibJvmDummy.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jvmMain/kotlin/LibJvmDummy.kt deleted file mode 100644 index e7300c93a71..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jvmMain/kotlin/LibJvmDummy.kt +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -class LibJvmDummy \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jvmMain/kotlin/libJvmPlatformUtil.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jvmMain/kotlin/libJvmPlatformUtil.kt deleted file mode 100644 index a098cde7bcb..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/lib/src/jvmMain/kotlin/libJvmPlatformUtil.kt +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -fun libJvmPlatformUtil(): Int = 0 diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/settings.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/settings.gradle deleted file mode 100644 index c0b70ce1c99..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-js-ic/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -include ':app', ':lib' \ No newline at end of file