From 721aafc94c0e2b49cb395f9f693cf447238602cb Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Fri, 1 Dec 2023 00:24:48 +0100 Subject: [PATCH] [Gradle] Disable stdlib for Kotlin Native Compile and Link tasks ^KT-61559 Verification Pending --- .../kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt | 1 + .../kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt | 1 + .../compilerArgumetns/KotlinNativeCompileArgumentsTest.kt | 6 ++++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt index 6adcaab3939..2f1000616af 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeLink.kt @@ -240,6 +240,7 @@ constructor( args.multiPlatform = true args.noendorsedlibs = true args.nodefaultlibs = true + args.nostdlib = true args.pluginOptions = compilerPlugins.flatMap { it.options.arguments }.toTypedArray() args.generateTestRunner = processTests args.mainPackage = entryPoint diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt index 073a919d736..5ddb08c0157 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt @@ -453,6 +453,7 @@ internal constructor( args.produce = outputKind.name.toLowerCaseAsciiOnly() args.metadataKlib = sharedCompilationData != null args.nodefaultlibs = true + args.nostdlib = true args.manifestFile = sharedCompilationData?.manifestFile?.absolutePath args.nopack = produceUnpackedKlib.get() diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/compilerArgumetns/KotlinNativeCompileArgumentsTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/compilerArgumetns/KotlinNativeCompileArgumentsTest.kt index 28385511ec3..fd2778b704b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/compilerArgumetns/KotlinNativeCompileArgumentsTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/compilerArgumetns/KotlinNativeCompileArgumentsTest.kt @@ -200,7 +200,7 @@ class KotlinNativeCompileArgumentsTest { } @Test - fun `native compilation dependency files should contain native platform dependencies`() { + fun `native compilation dependency files should contain native platform dependencies and stdlib`() { val project = buildProjectWithMPP() project.repositories.mavenLocal() project.repositories.mavenCentralCacheRedirector() @@ -211,10 +211,12 @@ class KotlinNativeCompileArgumentsTest { project.evaluate() val nativeCompilation = kotlin.linuxX64().compilations.main - val expectedDependencies = listOf("iconv", "posix", "zlib", "linux", "builtin").map { + val expectedPlatformDependencies = listOf("iconv", "posix", "zlib", "linux", "builtin").map { "org.jetbrains.kotlin.native.platform.$it" }.toSet() + val expectedDependencies = expectedPlatformDependencies + listOf("stdlib") + val actualDependencies = nativeCompilation.compileDependencyFiles .map { it.name } .toSet()