diff --git a/kotlin-native/backend.native/tests/samples/csvparser/build.gradle.kts b/kotlin-native/backend.native/tests/samples/csvparser/build.gradle.kts index 7d2da6fe2f5..cb79885e6fa 100644 --- a/kotlin-native/backend.native/tests/samples/csvparser/build.gradle.kts +++ b/kotlin-native/backend.native/tests/samples/csvparser/build.gradle.kts @@ -13,9 +13,16 @@ kotlin { hostOs.startsWith("Windows") -> mingwX64("csvParser") else -> throw GradleException("Host OS '$hostOs' is not supported in Kotlin/Native $project.") } + + sourceSets { + commonMain { + dependencies { + implementation("org.jetbrains.kotlinx:kotlinx-cli:0.3.5") + } + } + } hostTarget.apply { - compilations["main"].enableEndorsedLibs = true binaries { executable { entryPoint = "sample.csvparser.main" diff --git a/kotlin-native/backend.native/tests/samples/videoplayer/build.gradle.kts b/kotlin-native/backend.native/tests/samples/videoplayer/build.gradle.kts index e128976a815..7e699f83b48 100644 --- a/kotlin-native/backend.native/tests/samples/videoplayer/build.gradle.kts +++ b/kotlin-native/backend.native/tests/samples/videoplayer/build.gradle.kts @@ -45,8 +45,14 @@ kotlin { } } } + } - compilations["main"].enableEndorsedLibs = true + sourceSets { + commonMain { + dependencies { + implementation("org.jetbrains.kotlinx:kotlinx-cli:0.3.5") + } + } } // Enable experimental stdlib API used by the sample. diff --git a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/benchmark/BenchmarkingPlugin.kt b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/benchmark/BenchmarkingPlugin.kt index c7e87ac3bd4..582ba7f746b 100644 --- a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/benchmark/BenchmarkingPlugin.kt +++ b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/benchmark/BenchmarkingPlugin.kt @@ -162,10 +162,13 @@ abstract class BenchmarkingPlugin: Plugin { protected fun Project.configureNativeTarget(hostPreset: AbstractKotlinNativeTargetPreset<*>) { kotlin.targetFromPreset(hostPreset, NATIVE_TARGET_NAME) { - @Suppress("DEPRECATION") - compilations.getByName("main").kotlinOptions.freeCompilerArgs = benchmark.compilerOpts + project.compilerArgs - @Suppress("DEPRECATION") // enableEndorsedLibs is scheduled to be removed in 1.9.0, see KT-54098 - compilations.getByName("main").enableEndorsedLibs = true + compilations.named("main").configure { + @Suppress("DEPRECATION") + kotlinOptions.freeCompilerArgs = benchmark.compilerOpts + project.compilerArgs + dependencies { + implementation("org.jetbrains.kotlinx:kotlinx-cli:0.3.5") + } + } configureNativeOutput(this@configureNativeTarget) } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt index 0900910f020..5f59f430cff 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt @@ -139,23 +139,6 @@ class GeneralNativeIT : BaseGradleIT() { } } - @Test - fun testEndorsedLibsController() { - with( - transformNativeTestProjectWithPluginDsl("native-endorsed") - ) { - build("build") { - assertSuccessful() - } - gradleBuildScript().modify { - it.replace("enableEndorsedLibs = true", "") - } - build("build") { - assertFailed() - } - } - } - @Test fun testCanProduceNativeLibraries() = with(transformNativeTestProjectWithPluginDsl("libraries", directoryPrefix = "native-binaries")) { val baseName = "native_library" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-endorsed/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-endorsed/build.gradle.kts deleted file mode 100644 index f54cd13e520..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-endorsed/build.gradle.kts +++ /dev/null @@ -1,17 +0,0 @@ -plugins { - id("org.jetbrains.kotlin.multiplatform").version("") -} - -repositories { - mavenLocal() - mavenCentral() -} - -kotlin { - ("host") { - compilations.all { - kotlinOptions.verbose = true - enableEndorsedLibs = true - } - } -} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-endorsed/settings.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-endorsed/settings.gradle deleted file mode 100644 index 0acb7363f6e..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-endorsed/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = "native-endorsed" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-endorsed/src/hostMain/kotlin/main.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-endorsed/src/hostMain/kotlin/main.kt deleted file mode 100644 index 837b4258c5d..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-endorsed/src/hostMain/kotlin/main.kt +++ /dev/null @@ -1,9 +0,0 @@ -import kotlinx.cli.* - -fun main(args: Array) { - val argParser = ArgParser("test") - val size by argParser.option(ArgType.Int, shortName = "s", description = "Required size of videoplayer window") - .delimiter(",") - val fileName by argParser.argument(ArgType.String, description = "File to play") - argParser.parse(args) -} diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmMetadataCompilationData.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmMetadataCompilationData.kt index 3f77608fba6..c14a2f56b04 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmMetadataCompilationData.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmMetadataCompilationData.kt @@ -183,7 +183,10 @@ internal open class GradleKpmNativeFragmentMetadataCompilationDataImpl( } @Suppress("DeprecatedCallableAddReplaceWith") - @Deprecated("Please declare explicit dependency on kotlinx-cli. This option is scheduled to be removed in 1.9.0") + @Deprecated( + "Please declare explicit dependency on kotlinx-cli. This option has no longer effect since 1.9.0", + level = DeprecationLevel.ERROR + ) override val enableEndorsedLibs: Boolean get() = false } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantCompilationData.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantCompilationData.kt index 1509e1cd813..85e9b9e66e3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantCompilationData.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantCompilationData.kt @@ -17,10 +17,14 @@ internal class GradleKpmNativeVariantCompilationData( override val konanTarget: KonanTarget get() = variant.konanTarget - @Suppress("DEPRECATION", "DeprecatedCallableAddReplaceWith") - @Deprecated("Please declare explicit dependency on kotlinx-cli. This option is scheduled to be removed in 1.9.0") + + @Suppress("DeprecatedCallableAddReplaceWith") + @Deprecated( + "Please declare explicit dependency on kotlinx-cli. This option has no longer effect since 1.9.0", + level = DeprecationLevel.ERROR + ) override val enableEndorsedLibs: Boolean - get() = variant.enableEndorsedLibraries + get() = false override val project: Project get() = variant.containingModule.project diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantInternal.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantInternal.kt index 1d822913763..4e957e888da 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantInternal.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmNativeVariantInternal.kt @@ -48,6 +48,9 @@ abstract class GradleKpmNativeVariantInternal( interface GradleKpmNativeCompilationData : GradleKpmCompilationData { val konanTarget: KonanTarget - @Deprecated("Please declare explicit dependency on kotlinx-cli. This option is scheduled to be removed in 1.9.0") + @Deprecated( + "Please declare explicit dependency on kotlinx-cli. This option has no longer effect since 1.9.0", + level = DeprecationLevel.ERROR + ) val enableEndorsedLibs: Boolean } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilation.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilation.kt index 34f66a19976..59ca7a4e465 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilation.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeCompilation.kt @@ -42,7 +42,11 @@ abstract class AbstractKotlinNativeCompilation internal constructor( get() = project.nativeUseEmbeddableCompilerJar // Endorsed library controller. - @Deprecated("Please declare explicit dependency on kotlinx-cli. This option is scheduled to be removed in 1.9.0") + @Suppress("unused") + @Deprecated( + "Please declare explicit dependency on kotlinx-cli. This option has no longer effect since 1.9.0", + level = DeprecationLevel.ERROR + ) var enableEndorsedLibs: Boolean = false } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeCompilerArgBuilder.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeCompilerArgBuilder.kt index 379096e204a..4effdc1e480 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeCompilerArgBuilder.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeCompilerArgBuilder.kt @@ -37,7 +37,6 @@ internal fun buildKotlinNativeKlibCompilerArgs( libraries: List, languageSettings: LanguageSettings, - enableEndorsedLibs: Boolean, compilerOptions: KotlinCommonCompilerOptions, compilerPlugins: List, @@ -77,7 +76,7 @@ internal fun buildKotlinNativeKlibCompilerArgs( } } - addAll(buildKotlinNativeCompileCommonArgs(enableEndorsedLibs, languageSettings, compilerOptions, compilerPlugins)) + addAll(buildKotlinNativeCompileCommonArgs(languageSettings, compilerOptions, compilerPlugins)) addAll(source.map { it.absolutePath }) if (!commonSourcesTree.isEmpty) { @@ -94,7 +93,6 @@ internal fun buildKotlinNativeBinaryLinkerArgs( libraries: List, friendModules: List, - enableEndorsedLibs: Boolean, toolOptions: KotlinCommonCompilerToolOptions, compilerPlugins: List, @@ -122,7 +120,7 @@ internal fun buildKotlinNativeBinaryLinkerArgs( binaryOptions.forEach { (name, value) -> add("-Xbinary=$name=$value") } addKey("-Xstatic-framework", isStaticFramework) - addAll(buildKotlinNativeCommonArgs(enableEndorsedLibs, toolOptions, compilerPlugins)) + addAll(buildKotlinNativeCommonArgs(toolOptions, compilerPlugins)) exportLibraries.forEach { add("-Xexport-library=${it.absolutePath}") } includeLibraries.forEach { add("-Xinclude=${it.absolutePath}") } @@ -150,13 +148,12 @@ private fun buildKotlinNativeMainArgs( } internal fun buildKotlinNativeCompileCommonArgs( - enableEndorsedLibs: Boolean, languageSettings: LanguageSettings, compilerOptions: KotlinCommonCompilerOptions, compilerPlugins: List ): List = mutableListOf().apply { add("-Xmulti-platform") - addKey("-no-endorsed-libs", !enableEndorsedLibs) + addKey("-no-endorsed-libs", true) compilerPlugins.forEach { plugin -> plugin.files.map { it.canonicalPath }.sorted().forEach { add("-Xplugin=$it") } @@ -179,12 +176,11 @@ internal fun buildKotlinNativeCompileCommonArgs( } internal fun buildKotlinNativeCommonArgs( - enableEndorsedLibs: Boolean, toolOptions: KotlinCommonCompilerToolOptions, compilerPlugins: List ): List = mutableListOf().apply { add("-Xmulti-platform") - addKey("-no-endorsed-libs", !enableEndorsedLibs) + addKey("-no-endorsed-libs", true) compilerPlugins.forEach { plugin -> plugin.files.map { it.canonicalPath }.sorted().forEach { add("-Xplugin=$it") } 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 4cbb48a9019..35362fc7fe5 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 @@ -263,10 +263,14 @@ constructor( objectFactory.property(it.file(filename).asFile) } - @Suppress("DEPRECATION", "DeprecatedCallableAddReplaceWith") - @Deprecated("Please declare explicit dependency on kotlinx-cli. This option is scheduled to be removed in 1.9.0") + @Suppress("unused", "DeprecatedCallableAddReplaceWith") + @Deprecated( + "Please declare explicit dependency on kotlinx-cli. This option has no longer effect since 1.9.0", + level = DeprecationLevel.ERROR + ) @get:Input - val enableEndorsedLibs: Boolean by lazy { compilation.enableEndorsedLibs } + val enableEndorsedLibs: Boolean + get() = false @Internal val compilerPluginOptions = CompilerPluginOptions() @@ -313,8 +317,6 @@ constructor( } } - @Suppress("DEPRECATION") val enableEndorsedLibs = this.enableEndorsedLibs // TODO: remove before 1.9.0, see KT-54098 - val buildArgs = buildKotlinNativeBinaryLinkerArgs( output, optimized, @@ -323,7 +325,6 @@ constructor( outputKind, libraries.files.filterKlibsPassedToCompiler(), friendModule.files.toList(), - enableEndorsedLibs, toolOptions, plugins, processTests, 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 b46b2dee3cb..8ff83401e05 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 @@ -203,11 +203,14 @@ abstract class AbstractKotlinNativeCompile< get() = languageSettings.progressiveMode // endregion. - @Deprecated("Please declare explicit dependency on kotlinx-cli. This option is scheduled to be removed in 1.9.0") + @Suppress("DeprecatedCallableAddReplaceWith") + @Deprecated( + "Please declare explicit dependency on kotlinx-cli. This option has no longer effect since 1.9.0", + level = DeprecationLevel.ERROR + ) @get:Input - val enableEndorsedLibs: Boolean by project.provider { - compilation.tcsOrNull?.compilation?.run { this as? KotlinNativeCompilation }?.enableEndorsedLibs ?: false - } + val enableEndorsedLibs: Boolean + get() = false @get:Input val kotlinNativeVersion: String @@ -425,7 +428,6 @@ internal constructor( ) return buildKotlinNativeCompileCommonArgs( - enableEndorsedLibs, languageSettings, compilerOptions, plugins @@ -467,7 +469,6 @@ internal constructor( konanTarget, libraries.files.filterKlibsPassedToCompiler(), languageSettings, - enableEndorsedLibs, compilerOptions, plugins, moduleName, diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLinkArtifactTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLinkArtifactTask.kt index 103ec09ae3d..3d486cf8810 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLinkArtifactTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/artifact/KotlinNativeLinkArtifactTask.kt @@ -55,7 +55,10 @@ abstract class KotlinNativeLinkArtifactTask @Inject constructor( @get:Input abstract val debuggable: Property - @Deprecated("Please declare explicit dependency on kotlinx-cli. This option is scheduled to be removed in 1.9.0") + @Deprecated( + "Please declare explicit dependency on kotlinx-cli. This option has no longer effect since 1.9.0", + level = DeprecationLevel.ERROR + ) @get:Input abstract val enableEndorsedLibs: Property @@ -156,7 +159,8 @@ abstract class KotlinNativeLinkArtifactTask @Inject constructor( baseName.convention(project.name) debuggable.convention(true) optimized.convention(false) - enableEndorsedLibs.convention(false) + @Suppress("DEPRECATION_ERROR") + enableEndorsedLibs.value(false).finalizeValue() processTests.convention(false) staticFramework.convention(false) embedBitcode.convention(BitcodeEmbeddingMode.DISABLE) @@ -183,7 +187,6 @@ abstract class KotlinNativeLinkArtifactTask @Inject constructor( outputKind = outputKind, libraries = libraries.klibs(), friendModules = emptyList(), //FriendModules aren't needed here because it's no test artifact - enableEndorsedLibs = enableEndorsedLibs.get(), // TODO: remove before 1.9.0, see KT-54098 toolOptions = toolOptions, compilerPlugins = emptyList(),//CompilerPlugins aren't needed here because it's no compilation but linking processTests = processTests.get(),