diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/K2Tests.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/K2Tests.kt index 8aa9b7525a2..0cc6b8ff616 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/K2Tests.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/K2Tests.kt @@ -73,4 +73,16 @@ class CustomK2Tests : KGPBaseTest() { } } } + + @Disabled("disable until kotlin/native dependency is updated to include KT-58145") + @GradleTest + @DisplayName("Compiling shared native source with FirFakeOverrideGenerator referencing a common entity. KT-58145") + fun kt581450MppNativeSharedCrash(gradleVersion: GradleVersion) { + with(project("kt-581450-mpp-native-shared-crash", gradleVersion, buildOptions = defaultBuildOptions.copy(languageVersion = "2.0"))) { + val taskToExecute = ":compileNativeMainKotlinMetadata" + build(taskToExecute) { + assertTasksExecuted(taskToExecute) + } + } + } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/build.gradle.kts new file mode 100644 index 00000000000..8f1b932f6d9 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/build.gradle.kts @@ -0,0 +1,41 @@ +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion +import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask + +group = "test" +version = "1.0" + +plugins { + kotlin("multiplatform") +} + +repositories { + mavenLocal() + mavenCentral() +} + +kotlin { + jvm() + linuxX64() + linuxArm64() + sourceSets { + val commonMain by getting + val jvmMain by getting { + dependsOn(commonMain) + } + val nativeMain by creating { + dependsOn(commonMain) + } + val linuxX64Main by getting { + dependsOn(nativeMain) + } + val linuxArm64Main by getting { + dependsOn(nativeMain) + } + } +} + +tasks.withType>().configureEach { + compilerOptions { + freeCompilerArgs.add("-Xrender-internal-diagnostic-names") + } +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/commonMain/kotlin/Main.common.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/commonMain/kotlin/Main.common.kt new file mode 100644 index 00000000000..590a8ed9907 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/commonMain/kotlin/Main.common.kt @@ -0,0 +1,5 @@ +open class ScopeCoroutine { + val callerFrame: Any? = null +} + +expect class UndispatchedCoroutine(): ScopeCoroutine diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/jvmMain/kotlin/Main.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/jvmMain/kotlin/Main.kt new file mode 100644 index 00000000000..dd3764ad1ff --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/jvmMain/kotlin/Main.kt @@ -0,0 +1 @@ +actual class UndispatchedCoroutine: ScopeCoroutine() diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/linuxArm64Main/kotlin/Main.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/linuxArm64Main/kotlin/Main.kt new file mode 100644 index 00000000000..6938d272bdb --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/linuxArm64Main/kotlin/Main.kt @@ -0,0 +1,3 @@ +fun main() { + println("Hello, linuxArm64!") +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/linuxX64Main/kotlin/Main.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/linuxX64Main/kotlin/Main.kt new file mode 100644 index 00000000000..56fbd349683 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/linuxX64Main/kotlin/Main.kt @@ -0,0 +1,3 @@ +fun main() { + println("Hello, linuxX64!") +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/nativeMain/kotlin/Main.native.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/nativeMain/kotlin/Main.native.kt new file mode 100644 index 00000000000..dd3764ad1ff --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kt-581450-mpp-native-shared-crash/src/nativeMain/kotlin/Main.native.kt @@ -0,0 +1 @@ +actual class UndispatchedCoroutine: ScopeCoroutine()