Upgrade preset APIs deprecation to an error

* Also undeprecate the TargetsFromPresetExtension type since it's an
  entry point into the "target {}" API

* Remove InternalKotlinGradlePluginApi from DeprecatedTargetPresetApi. I
  think this was added by mistake

^KT-71529
diff --git a/libraries/tools/kotlin-gradle-plugin-annotations/api/kotlin-gradle-plugin-annotations.api b/libraries/tools/kotlin-gradle-plugin-annotations/api/kotlin-gradle-plugin-annotations.api
index ff730a6..d60770b 100644
--- a/libraries/tools/kotlin-gradle-plugin-annotations/api/kotlin-gradle-plugin-annotations.api
+++ b/libraries/tools/kotlin-gradle-plugin-annotations/api/kotlin-gradle-plugin-annotations.api
@@ -1,6 +1,9 @@
 public abstract interface annotation class org/jetbrains/kotlin/gradle/ComposeKotlinGradlePluginApi : java/lang/annotation/Annotation {
 }
 
+public abstract interface annotation class org/jetbrains/kotlin/gradle/DeprecatedTargetPresetApi : java/lang/annotation/Annotation {
+}
+
 public final class org/jetbrains/kotlin/gradle/DeprecatedTargetPresetApiKt {
 	public static final field PRESETS_API_IS_DEPRECATED_MESSAGE Ljava/lang/String;
 	public static final field PRESETS_DEPRECATION_MESSAGE_SUFFIX Ljava/lang/String;
diff --git a/libraries/tools/kotlin-gradle-plugin-annotations/src/main/kotlin/org/jetbrains/kotlin/gradle/DeprecatedTargetPresetApi.kt b/libraries/tools/kotlin-gradle-plugin-annotations/src/main/kotlin/org/jetbrains/kotlin/gradle/DeprecatedTargetPresetApi.kt
index 1bdae00..3ac61a5 100644
--- a/libraries/tools/kotlin-gradle-plugin-annotations/src/main/kotlin/org/jetbrains/kotlin/gradle/DeprecatedTargetPresetApi.kt
+++ b/libraries/tools/kotlin-gradle-plugin-annotations/src/main/kotlin/org/jetbrains/kotlin/gradle/DeprecatedTargetPresetApi.kt
@@ -6,12 +6,11 @@
 package org.jetbrains.kotlin.gradle
 
 const val PRESETS_DEPRECATION_MESSAGE_SUFFIX =
-    "API is deprecated and will be removed in future releases. Learn how to configure targets at: https://kotl.in/target-configuration"
+    "API is deprecated and will be removed in 2.2.0 releases. Learn how to configure targets at: https://kotl.in/target-configuration"
 const val PRESETS_API_IS_DEPRECATED_MESSAGE = "The presets $PRESETS_DEPRECATION_MESSAGE_SUFFIX"
 
 @RequiresOptIn(
     message = PRESETS_API_IS_DEPRECATED_MESSAGE,
-    level = RequiresOptIn.Level.WARNING
+    level = RequiresOptIn.Level.ERROR
 )
-@InternalKotlinGradlePluginApi
 annotation class DeprecatedTargetPresetApi
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTarget.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTarget.kt
index 295f353..e96b9c9 100644
--- a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTarget.kt
+++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTarget.kt
@@ -60,9 +60,9 @@
     fun attributes(configure: Action<AttributeContainer>) = attributes { configure.execute(this) }
 
     @OptIn(DeprecatedTargetPresetApi::class, InternalKotlinGradlePluginApi::class)
-    @Deprecated(
+    @get:Deprecated(
         PRESETS_API_IS_DEPRECATED_MESSAGE,
-        level = DeprecationLevel.WARNING,
+        level = DeprecationLevel.ERROR,
     )
     val preset: KotlinTargetPreset<out KotlinTarget>?
 
diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetPreset.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetPreset.kt
index 49cfb2a..9f4e777 100644
--- a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetPreset.kt
+++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetPreset.kt
@@ -18,7 +18,7 @@
 interface KotlinTargetPreset<T: KotlinTarget> : Named {
     @Deprecated(
         "The KotlinTargetPreset.createTarget() $PRESETS_DEPRECATION_MESSAGE_SUFFIX",
-        level = DeprecationLevel.WARNING,
+        level = DeprecationLevel.ERROR,
     )
     fun createTarget(name: String): T
 }
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetsContainer.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetsContainer.kt
index 33bb29d..82506f9 100644
--- a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetsContainer.kt
+++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinTargetsContainer.kt
@@ -27,7 +27,7 @@
 interface KotlinTargetsContainerWithPresets : KotlinTargetsContainer {
     @Deprecated(
         PRESETS_API_IS_DEPRECATED_MESSAGE,
-        level = DeprecationLevel.WARNING,
+        level = DeprecationLevel.ERROR,
     )
     val presets: NamedDomainObjectCollection<KotlinTargetPreset<*>>
 }
diff --git a/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/mppPresetFunctionsCodegen.kt b/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/mppPresetFunctionsCodegen.kt
index db3c8c4..920eec8 100644
--- a/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/mppPresetFunctionsCodegen.kt
+++ b/libraries/tools/kotlin-gradle-plugin-dsl-codegen/src/main/kotlin/org/jetbrains/kotlin/generators/gradle/dsl/mppPresetFunctionsCodegen.kt
@@ -4,7 +4,6 @@
  */
 
 @file:OptIn(DeprecatedTargetPresetApi::class, InternalKotlinGradlePluginApi::class)
-@file:Suppress("DEPRECATION")
 
 package org.jetbrains.kotlin.generators.gradle.dsl
 
@@ -20,6 +19,7 @@
 
 private val parentInterface = KotlinTargetsContainerWithPresets::class
 
+@Suppress("DEPRECATION_ERROR")
 private val presetsProperty = KotlinTargetsContainerWithPresets::presets.name
 
 private fun generateKotlinTargetContainerWithPresetFunctionsInterface() {
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-46856-all-targets/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-46856-all-targets/build.gradle.kts
index a3c2661..12782de 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-46856-all-targets/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonize-kt-46856-all-targets/build.gradle.kts
@@ -6,11 +6,24 @@
 }
 
 kotlin {
-    presets.forEach { preset ->
-        if (preset is AbstractKotlinNativeTargetPreset) {
-            targetFromPreset(preset)
-        }
-    }
+    androidNativeArm64()
+    androidNativeX64()
+    iosArm64()
+    iosSimulatorArm64()
+    iosX64()
+    linuxArm64()
+    linuxX64()
+    macosArm64()
+    macosX64()
+    mingwX64()
+    tvosArm64()
+    tvosSimulatorArm64()
+    tvosX64()
+    watchosArm32()
+    watchosArm64()
+    watchosDeviceArm64()
+    watchosSimulatorArm64()
+    watchosX64()
 }
 
 allprojects {
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-libraries/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-libraries/build.gradle
index ec3a7a6..5f89d66 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-libraries/build.gradle
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-libraries/build.gradle
@@ -16,12 +16,12 @@
 
 kotlin {
     targets {
-        fromPreset(presets.macosX64, 'macos64') {
+        macosX64('macos64') {
             binaries.framework("main", [DEBUG])
         }
 
-        fromPreset(presets.linuxX64, 'linux64')
-        fromPreset(presets.mingwX64, 'mingw64')
+        linuxX64('linux64')
+        mingwX64('mingw64')
 
         configure([findByName('linux64'), findByName('mingw64'), findByName('macos64')]) {
             binaries {
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/build.gradle
index 8aea191..b87812b 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/build.gradle
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/build.gradle
@@ -20,10 +20,10 @@
 
 kotlin {
     targets {
-        fromPreset(presets.<SingleNativeTarget>, 'host')
+        <SingleNativeTarget>('host')
 
-        fromPreset(presets.iosX64, 'ios')
-        fromPreset(presets.iosSimulatorArm64, 'iosArm64')
+        iosX64('ios')
+        iosSimulatorArm64('iosArm64')
 
         configure([findByName('host')]) {
             compilations.create("anotherTest")
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-with-java-multi-module/app/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-with-java-multi-module/app/build.gradle
index 2782d9e..42f23e1 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-with-java-multi-module/app/build.gradle
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-with-java-multi-module/app/build.gradle
@@ -7,7 +7,7 @@
 			api kotlin('stdlib-common')
 		}
 	}
-	targetFromPreset(presets.jvmWithJava, 'jvm') {
+	jvm('jvm') {
 		compilations.main.defaultSourceSet.dependencies {
 			api kotlin('stdlib')
 		}
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-with-java-multi-module/lib/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-with-java-multi-module/lib/build.gradle
index 23bc5f8..bb484cc 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-with-java-multi-module/lib/build.gradle
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-jvm-with-java-multi-module/lib/build.gradle
@@ -6,7 +6,7 @@
 			api kotlin('stdlib-common')
 		}
 	}
-	targetFromPreset(presets.jvmWithJava, 'jvm') {
+	jvm('jvm') {
 		compilations.main.defaultSourceSet.dependencies {
 			api kotlin('stdlib')
 		}
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-app/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-app/build.gradle
index ecddca5..172f1c4 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-app/build.gradle
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-app/build.gradle
@@ -20,10 +20,10 @@
     }
 
     targets {
-        fromPreset(presets.jvm, "jvm6") {
+        jvm("jvm6") {
             attributes.attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 6)
         }
-        fromPreset(presets.jvm, "jvm8") {
+        jvm("jvm8") {
             attributes.attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 8)
 
             compilations.main {
@@ -35,7 +35,7 @@
             }
         }
 
-        fromPreset(presets.linuxX64, "linux64") {
+        linuxX64("linux64") {
             binaries.executable("main", [DEBUG]) {
                 entryPoint = "com.example.app.native.main"
             }
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-external-lib/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-external-lib/build.gradle
index e7f7a9a..07fbf2a 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-external-lib/build.gradle
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-external-lib/build.gradle
@@ -7,18 +7,16 @@
 version = "1.2.3"
 
 kotlin {
-    // Check the new preset functions:
     jvm('jvm6') {}
     js('nodeJs')
     wasmJs()
-    targetFromPreset(presets.jvm, 'jvm6') { println targetName } // access existing target
+    jvm('jvm6') { println targetName } // access existing target
 
     targets {
-        // Also check that the old DSL (fromPreset) works:
-        fromPreset(presets.linuxX64, 'linux64')
+        linuxX64('linux64')
 
         // Check the DSL constructs in the Groovy DSL:
-        fromPreset(presets.jvm, 'jvm6') {
+        jvm('jvm6') {
             println "Configuring $targetName"
             compilations.main {
                 kotlinOptions {
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-lib-gradle-kotlin-dsl/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-lib-gradle-kotlin-dsl/build.gradle.kts
index 2406433..fc49161 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-lib-gradle-kotlin-dsl/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-lib-gradle-kotlin-dsl/build.gradle.kts
@@ -14,7 +14,6 @@
 val shouldBeJs = true
 
 kotlin {
-    // Check the new preset functions:
     jvm("jvm6") { }
 
     if (shouldBeJs) {
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-lib/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-lib/build.gradle
index 86167b8..66ca6c6 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-lib/build.gradle
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-lib/build.gradle
@@ -14,9 +14,8 @@
 def shouldBeJs = true
 
 kotlin {
-    // Check the new preset functions:
     jvm("jvm6") {}
-    targetFromPreset(presets.jvm, 'jvm6') { println targetName } // access existing target
+    jvm("jvm6") { println targetName } // access existing target
 
     if (shouldBeJs) {
         js("nodeJs") {
@@ -26,14 +25,13 @@
     }
 
     targets {
-        // Also check that the old DSL (fromPreset) works:
-        fromPreset(presets.linuxX64, 'linux64')
-        fromPreset(presets.mingwX64, 'mingw64')
-        fromPreset(presets.macosX64, 'macos64')
-        fromPreset(presets.macosArm64, 'macosArm64')
+        linuxX64('linux64')
+        mingwX64('mingw64')
+        macosX64('macos64')
+        macosArm64('macosArm64')
 
         // Check the DSL constructs in the Groovy DSL:
-        fromPreset(presets.jvm, 'jvm6') {
+        jvm('jvm6') {
             println "Configuring $targetName"
             compilations.main {
                 kotlinOptions {
diff --git a/libraries/tools/kotlin-gradle-plugin/api/all/kotlin-gradle-plugin.api b/libraries/tools/kotlin-gradle-plugin/api/all/kotlin-gradle-plugin.api
index b0e0523..652cf6e 100644
--- a/libraries/tools/kotlin-gradle-plugin/api/all/kotlin-gradle-plugin.api
+++ b/libraries/tools/kotlin-gradle-plugin/api/all/kotlin-gradle-plugin.api
@@ -1669,6 +1669,7 @@
 	public fun getSourceSets ()Lorg/gradle/api/NamedDomainObjectContainer;
 	public fun getSourcesElementsConfigurationName ()Ljava/lang/String;
 	public fun getUseDisambiguationClassifierAsSourceSetNamePrefix ()Z
+	public fun get_preset ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetPreset;
 	public fun isSourcesPublishable ()Z
 	public fun jvmToolchain (I)V
 	public fun jvmToolchain (Lorg/gradle/api/Action;)V
@@ -3124,6 +3125,7 @@
 	public final fun getIrTarget ()Ljava/lang/Void;
 	public fun getName ()Ljava/lang/String;
 	public fun getSourceSets ()Lorg/gradle/api/NamedDomainObjectContainer;
+	public fun get_preset ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetPreset;
 	public fun jvmToolchain (I)V
 	public fun jvmToolchain (Lorg/gradle/api/Action;)V
 	public fun mavenPublication (Lkotlin/jvm/functions/Function1;)V
diff --git a/libraries/tools/kotlin-gradle-plugin/api/external/kotlin-gradle-plugin.api b/libraries/tools/kotlin-gradle-plugin/api/external/kotlin-gradle-plugin.api
index b5bcfd8..d2828c2 100644
--- a/libraries/tools/kotlin-gradle-plugin/api/external/kotlin-gradle-plugin.api
+++ b/libraries/tools/kotlin-gradle-plugin/api/external/kotlin-gradle-plugin.api
@@ -1596,6 +1596,7 @@
 	public final fun getSourcesElementsPublishedConfiguration ()Lorg/gradle/api/artifacts/Configuration;
 	public fun getTargetName ()Ljava/lang/String;
 	public fun getUseDisambiguationClassifierAsSourceSetNamePrefix ()Z
+	public fun get_preset ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetPreset;
 	public fun isSourcesPublishable ()Z
 	public fun jvmToolchain (I)V
 	public fun jvmToolchain (Lorg/gradle/api/Action;)V
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension.kt
index 8366b3f..3e1561f 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtension.kt
@@ -41,7 +41,7 @@
     KotlinMultiplatformSourceSetConventions by KotlinMultiplatformSourceSetConventionsImpl {
     @Deprecated(
         PRESETS_API_IS_DEPRECATED_MESSAGE,
-        level = DeprecationLevel.WARNING,
+        level = DeprecationLevel.ERROR,
     )
     override val presets: NamedDomainObjectCollection<KotlinTargetPreset<*>> = project.container(KotlinTargetPreset::class.java)
 
@@ -170,7 +170,7 @@
     @DeprecatedTargetPresetApi
     @Deprecated(
         KotlinToolingDiagnostics.TargetFromPreset.DEPRECATION_MESSAGE,
-        level = DeprecationLevel.WARNING
+        level = DeprecationLevel.ERROR
     )
     fun <T : KotlinTarget> targetFromPreset(
         preset: KotlinTargetPreset<T>,
@@ -188,7 +188,7 @@
     @DeprecatedTargetPresetApi
     @Deprecated(
         KotlinToolingDiagnostics.TargetFromPreset.DEPRECATION_MESSAGE,
-        level = DeprecationLevel.WARNING
+        level = DeprecationLevel.ERROR
     )
     fun <T : KotlinTarget> targetFromPreset(
         preset: KotlinTargetPreset<T>,
@@ -206,7 +206,7 @@
     @DeprecatedTargetPresetApi
     @Deprecated(
         KotlinToolingDiagnostics.TargetFromPreset.DEPRECATION_MESSAGE,
-        level = DeprecationLevel.WARNING
+        level = DeprecationLevel.ERROR
     )
     fun <T : KotlinTarget> targetFromPreset(preset: KotlinTargetPreset<T>): T {
         warnAboutTargetFromPresetDeprecation()
@@ -218,7 +218,7 @@
     @DeprecatedTargetPresetApi
     @Deprecated(
         KotlinToolingDiagnostics.TargetFromPreset.DEPRECATION_MESSAGE,
-        level = DeprecationLevel.WARNING
+        level = DeprecationLevel.ERROR
     )
     fun <T : KotlinTarget> targetFromPreset(preset: KotlinTargetPreset<T>, name: String): T {
         warnAboutTargetFromPresetDeprecation()
@@ -231,7 +231,7 @@
     @DeprecatedTargetPresetApi
     @Deprecated(
         KotlinToolingDiagnostics.TargetFromPreset.DEPRECATION_MESSAGE,
-        level = DeprecationLevel.WARNING
+        level = DeprecationLevel.ERROR
     )
     fun <T : KotlinTarget> targetFromPreset(preset: KotlinTargetPreset<T>, configure: Action<T>): T {
         warnAboutTargetFromPresetDeprecation()
@@ -252,13 +252,12 @@
             }
 }
 
-@DeprecatedTargetPresetApi
 @KotlinGradlePluginPublicDsl
 interface TargetsFromPresetExtension : NamedDomainObjectCollection<KotlinTarget> {
 
     @Deprecated(
         KotlinToolingDiagnostics.FromPreset.DEPRECATION_MESSAGE,
-        level = DeprecationLevel.WARNING,
+        level = DeprecationLevel.ERROR,
     )
     fun <T : KotlinTarget> fromPreset(
         preset: KotlinTargetPreset<T>,
@@ -266,19 +265,19 @@
         configureAction: T.() -> Unit = {},
     ): T
 
-    @Suppress("DeprecatedCallableAddReplaceWith", "DEPRECATION")
+    @Suppress("DeprecatedCallableAddReplaceWith")
     @Deprecated(
         KotlinToolingDiagnostics.FromPreset.DEPRECATION_MESSAGE,
-        level = DeprecationLevel.WARNING,
+        level = DeprecationLevel.ERROR,
     )
     fun <T : KotlinTarget> fromPreset(
         preset: KotlinTargetPreset<T>,
         name: String,
-    ): T = fromPreset(preset, name) {}
+    ): T = @Suppress("DEPRECATION_ERROR") fromPreset(preset, name) {}
 
     @Deprecated(
         KotlinToolingDiagnostics.FromPreset.DEPRECATION_MESSAGE,
-        level = DeprecationLevel.WARNING,
+        level = DeprecationLevel.ERROR,
     )
     fun <T : KotlinTarget> fromPreset(
         preset: KotlinTargetPreset<T>,
@@ -308,19 +307,17 @@
         return targetsContainer().configureOrCreate(name, preset.internal, configureAction)
     }
 
-    @Suppress("DEPRECATION")
     override fun <T : KotlinTarget> fromPreset(
         preset: KotlinTargetPreset<T>,
         name: String,
         configureAction: Action<T>,
-    ) = fromPreset(preset, name) {
+    ) = @Suppress("DEPRECATION_ERROR") fromPreset(preset, name) {
         configureAction.execute(this)
     }
 }
 
-@Suppress("DEPRECATION")
 private fun KotlinTarget.isProducedFromPreset(kotlinTargetPreset: KotlinTargetPreset<*>): Boolean =
-    preset == kotlinTargetPreset
+    internal._preset == kotlinTargetPreset
 
 internal fun <T : KotlinTarget> KotlinTargetsContainerWithPresets.configureOrCreate(
     targetName: String,
@@ -343,12 +340,10 @@
         }
 
         else -> {
-            @Suppress("DEPRECATION")
+            // FIXME: KT-71529 - check if this diagnostic is actually reachable and cover with tests or remove
             throw InvalidUserCodeException(
                 "The target '$targetName' already exists, but it was not created with the '${targetPreset.name}' preset. " +
-                        "To configure it, access it by name in `kotlin.targets`" +
-                        (" or use the preset function '${existingTarget.preset?.name}'."
-                            .takeIf { existingTarget.preset != null } ?: ".")
+                        "To configure it, access it using targets API: https://kotl.in/target-configuration"
             )
         }
     }
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithJsPresetFunctions.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithJsPresetFunctions.kt
index d6d4ad4..9fe7889 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithJsPresetFunctions.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithJsPresetFunctions.kt
@@ -79,9 +79,10 @@
     name: String = "js",
     configure: KotlinJsTargetDsl.() -> Unit
 ): KotlinJsTargetDsl {
-    @Suppress("UNCHECKED_CAST", "DEPRECATION")
+    @Suppress("UNCHECKED_CAST")
     return configureOrCreate(
         name,
+        @Suppress("DEPRECATION_ERROR")
         presets.getByName(
             "js"
         ) as InternalKotlinTargetPreset<KotlinJsTargetDsl>,
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithPresetFunctions.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithPresetFunctions.kt
index 2c0dfe7..32e2f93 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithPresetFunctions.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithPresetFunctions.kt
@@ -27,7 +27,7 @@
     ): KotlinJvmTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("jvm") as KotlinJvmTargetPreset,
             configure
         )
@@ -43,7 +43,7 @@
     ): KotlinAndroidTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("android") as KotlinAndroidTargetPreset,
             configure
         )
@@ -61,7 +61,7 @@
     ): KotlinAndroidTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("android") as KotlinAndroidTargetPreset,
             configure
         ).also {
@@ -96,7 +96,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("androidNativeX64") as KotlinNativeTargetPreset,
             configure
         )
@@ -112,7 +112,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("androidNativeX86") as KotlinNativeTargetPreset,
             configure
         )
@@ -128,7 +128,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("androidNativeArm32") as KotlinNativeTargetPreset,
             configure
         )
@@ -144,7 +144,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("androidNativeArm64") as KotlinNativeTargetPreset,
             configure
         )
@@ -162,7 +162,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("iosArm32") as KotlinNativeTargetPreset,
             configure
         )
@@ -190,7 +190,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("iosArm64") as KotlinNativeTargetPreset,
             configure
         )
@@ -206,7 +206,7 @@
     ): KotlinNativeTargetWithSimulatorTests =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("iosX64") as KotlinNativeTargetWithSimulatorTestsPreset,
             configure
         )
@@ -222,7 +222,7 @@
     ): KotlinNativeTargetWithSimulatorTests =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("iosSimulatorArm64") as KotlinNativeTargetWithSimulatorTestsPreset,
             configure
         )
@@ -238,7 +238,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("watchosArm32") as KotlinNativeTargetPreset,
             configure
         )
@@ -254,7 +254,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("watchosArm64") as KotlinNativeTargetPreset,
             configure
         )
@@ -272,7 +272,7 @@
     ): KotlinNativeTargetWithSimulatorTests =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("watchosX86") as KotlinNativeTargetWithSimulatorTestsPreset,
             configure
         )
@@ -300,7 +300,7 @@
     ): KotlinNativeTargetWithSimulatorTests =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("watchosX64") as KotlinNativeTargetWithSimulatorTestsPreset,
             configure
         )
@@ -316,7 +316,7 @@
     ): KotlinNativeTargetWithSimulatorTests =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("watchosSimulatorArm64") as KotlinNativeTargetWithSimulatorTestsPreset,
             configure
         )
@@ -332,7 +332,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("watchosDeviceArm64") as KotlinNativeTargetPreset,
             configure
         )
@@ -348,7 +348,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("tvosArm64") as KotlinNativeTargetPreset,
             configure
         )
@@ -364,7 +364,7 @@
     ): KotlinNativeTargetWithSimulatorTests =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("tvosX64") as KotlinNativeTargetWithSimulatorTestsPreset,
             configure
         )
@@ -380,7 +380,7 @@
     ): KotlinNativeTargetWithSimulatorTests =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("tvosSimulatorArm64") as KotlinNativeTargetWithSimulatorTestsPreset,
             configure
         )
@@ -396,7 +396,7 @@
     ): KotlinNativeTargetWithHostTests =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("linuxX64") as KotlinNativeTargetWithHostTestsPreset,
             configure
         )
@@ -414,7 +414,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("mingwX86") as KotlinNativeTargetPreset,
             configure
         )
@@ -442,7 +442,7 @@
     ): KotlinNativeTargetWithHostTests =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("mingwX64") as KotlinNativeTargetWithHostTestsPreset,
             configure
         )
@@ -458,7 +458,7 @@
     ): KotlinNativeTargetWithHostTests =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("macosX64") as KotlinNativeTargetWithHostTestsPreset,
             configure
         )
@@ -474,7 +474,7 @@
     ): KotlinNativeTargetWithHostTests =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("macosArm64") as KotlinNativeTargetWithHostTestsPreset,
             configure
         )
@@ -490,7 +490,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("linuxArm64") as KotlinNativeTargetPreset,
             configure
         )
@@ -508,7 +508,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("linuxArm32Hfp") as KotlinNativeTargetPreset,
             configure
         )
@@ -538,7 +538,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("linuxMips32") as KotlinNativeTargetPreset,
             configure
         )
@@ -568,7 +568,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("linuxMipsel32") as KotlinNativeTargetPreset,
             configure
         )
@@ -598,7 +598,7 @@
     ): KotlinNativeTarget =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("wasm32") as KotlinNativeTargetPreset,
             configure
         )
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithWasmPresetFunctions.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithWasmPresetFunctions.kt
index 379a2de..5bfba3c 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithWasmPresetFunctions.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithWasmPresetFunctions.kt
@@ -20,7 +20,7 @@
     ): KotlinWasmJsTargetDsl =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("wasmJs") as KotlinWasmTargetPreset,
             configure
         )
@@ -44,7 +44,7 @@
     ): KotlinWasmWasiTargetDsl =
         configureOrCreate(
             name,
-            @Suppress("DEPRECATION")
+            @Suppress("DEPRECATION_ERROR")
             presets.getByName("wasmWasi") as KotlinWasmTargetPreset,
             configure
         )
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/diagnostics/KotlinToolingDiagnostics.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/diagnostics/KotlinToolingDiagnostics.kt
index 9660589..aa2b691 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/diagnostics/KotlinToolingDiagnostics.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/diagnostics/KotlinToolingDiagnostics.kt
@@ -642,7 +642,7 @@
         )
     }
 
-    private val presetsDeprecationSeverity = ToolingDiagnostic.Severity.WARNING
+    private val presetsDeprecationSeverity = ToolingDiagnostic.Severity.ERROR
 
     object TargetFromPreset : ToolingDiagnosticFactory(presetsDeprecationSeverity) {
         const val DEPRECATION_MESSAGE = "The targetFromPreset() $PRESETS_DEPRECATION_MESSAGE_SUFFIX"
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/diagnostics/checkers/KotlinTargetAlreadyDeclaredChecker.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/diagnostics/checkers/KotlinTargetAlreadyDeclaredChecker.kt
index 4cb37ec..282a11a 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/diagnostics/checkers/KotlinTargetAlreadyDeclaredChecker.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/diagnostics/checkers/KotlinTargetAlreadyDeclaredChecker.kt
@@ -12,6 +12,7 @@
 import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnosticsCollector
 import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTargetPreset
 import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMetadataTarget
+import org.jetbrains.kotlin.gradle.plugin.mpp.internal
 import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset
 
 internal object KotlinTargetAlreadyDeclaredChecker : KotlinGradleProjectChecker {
@@ -20,8 +21,7 @@
         val duplicatedTargets = targets
             .filter { it !is KotlinMetadataTarget }
             .groupBy {
-                @Suppress("DEPRECATION")
-                it.preset?.name
+                it.internal._preset?.name
             }
             .filterValues { it.size > 1 }
 
@@ -31,8 +31,7 @@
                 // skip targets without known dsl function such as external targets
                 ?: continue
 
-            @Suppress("DEPRECATION")
-            when (targetsGroup.first().preset) {
+            when (targetsGroup.first().internal._preset) {
                 // For JS targets fire WARNING for now
                 // FIXME: https://youtrack.jetbrains.com/issue/KT-59316/Deprecate-multiple-same-targets#focus=Comments-27-9992405.0-0
                 is KotlinJsIrTargetPreset -> collector.report(
@@ -56,10 +55,10 @@
      */
     @Suppress("DEPRECATION")
     private val KotlinTarget.targetDslFunctionName
-        get() = when (preset) {
+        get() = when (internal._preset) {
             is KotlinJsIrTargetPreset -> "js"
             is org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsTargetPreset -> "js"
             is KotlinAndroidTargetPreset -> "androidTarget"
-            else -> preset?.name
+            else -> internal._preset?.name
         }
 }
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/AbstractKotlinTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/AbstractKotlinTarget.kt
index b8d376f..5bad9aa 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/AbstractKotlinTarget.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/AbstractKotlinTarget.kt
@@ -187,9 +187,9 @@
     }
 
     @OptIn(DeprecatedTargetPresetApi::class)
-    @Deprecated(
+    @get:Deprecated(
         PRESETS_API_IS_DEPRECATED_MESSAGE,
-        level = DeprecationLevel.WARNING,
+        level = DeprecationLevel.ERROR,
     )
     override var preset: KotlinTargetPreset<out KotlinTarget>? = null
         internal set
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/InternalKotlinTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/InternalKotlinTarget.kt
index 0dacaaf..9bbc84f 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/InternalKotlinTarget.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/InternalKotlinTarget.kt
@@ -41,6 +41,10 @@
     fun jvmToolchain(jdkVersion: Int): Unit = error(TOOLCHAIN_DSL_WRONG_USAGE_ERROR)
 
     val resourcesElementsConfigurationName: String
+
+    @Suppress("DEPRECATION_ERROR")
+    val _preset: KotlinTargetPreset<out KotlinTarget>?
+        get() = preset
 }
 
 private const val TOOLCHAIN_DSL_WRONG_USAGE_ERROR =
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformTargetPresetSetupAction.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformTargetPresetSetupAction.kt
index a1a3411..c2f9faa 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformTargetPresetSetupAction.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformTargetPresetSetupAction.kt
@@ -15,7 +15,7 @@
 import org.jetbrains.kotlin.konan.target.presetName
 
 internal val KotlinMultiplatformTargetPresetAction = KotlinProjectSetupAction {
-    @Suppress("DEPRECATION")
+    @Suppress("DEPRECATION_ERROR")
     with(project.multiplatformExtension.presets) {
         add(KotlinJvmTargetPreset(project))
         add(KotlinJsIrTargetPreset(project))
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinTargetImpl.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinTargetImpl.kt
index 9e89b44..45c8d1c 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinTargetImpl.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/external/ExternalKotlinTargetImpl.kt
@@ -54,7 +54,7 @@
 
     @Deprecated(
         PRESETS_API_IS_DEPRECATED_MESSAGE,
-        level = DeprecationLevel.WARNING,
+        level = DeprecationLevel.ERROR,
     )
     override val preset: Nothing? = null
 
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinTargetPresets.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinTargetPresets.kt
index ef61dc0..da0781c 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinTargetPresets.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinTargetPresets.kt
@@ -34,7 +34,6 @@
         val result = instantiateTarget(name).apply {
             targetName = name
             disambiguationClassifier = provideTargetDisambiguationClassifier(this@apply)
-            @Suppress("DEPRECATION")
             preset = this@KotlinOnlyTargetPreset
 
             val compilationFactory = createCompilationFactory(this)
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTargetPreset.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTargetPreset.kt
index cae8c16..efbdc5b 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTargetPreset.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTargetPreset.kt
@@ -36,7 +36,6 @@
         project.findAppliedAndroidPluginIdOrNull() ?: project.reportDiagnostic(AndroidGradlePluginIsMissing(Throwable()))
 
         return project.objects.newInstance(KotlinAndroidTarget::class.java, name, project, true).apply {
-            @Suppress("DEPRECATION")
             preset = this@KotlinAndroidTargetPreset
             project.dynamicallyApplyWhenAndroidPluginIsApplied({ this })
         }
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/internal/InternalKotlinTargetPreset.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/internal/InternalKotlinTargetPreset.kt
index 3b8c11b..31795f9 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/internal/InternalKotlinTargetPreset.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/internal/InternalKotlinTargetPreset.kt
@@ -16,7 +16,7 @@
 
     @Deprecated(
         "The KotlinTargetPreset.createTarget() $PRESETS_DEPRECATION_MESSAGE_SUFFIX",
-        level = DeprecationLevel.WARNING
+        level = DeprecationLevel.ERROR
     )
     override fun createTarget(name: String): T {
         val target = createTargetInternal(name)
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmWithJavaTargetPreset.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmWithJavaTargetPreset.kt
index b0ffacc..24c67ad 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmWithJavaTargetPreset.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmWithJavaTargetPreset.kt
@@ -31,7 +31,7 @@
 
         project.plugins.apply(JavaPlugin::class.java)
 
-        @Suppress("UNCHECKED_CAST", "DEPRECATION", "TYPEALIAS_EXPANSION_DEPRECATION")
+        @Suppress("UNCHECKED_CAST", "TYPEALIAS_EXPANSION_DEPRECATION")
         val target = (project.objects.newInstance(
             KotlinWithJavaTarget::class.java,
             project,
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetPreset.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetPreset.kt
index 626a7da..2528513 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetPreset.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTargetPreset.kt
@@ -54,7 +54,6 @@
         val result = instantiateTarget(name).apply {
             targetName = name
             disambiguationClassifier = name
-            @Suppress("DEPRECATION")
             preset = this@AbstractKotlinNativeTargetPreset
 
             val compilationFactory = KotlinNativeCompilationFactory(this)
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/ConfigurationsTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/ConfigurationsTest.kt
index 9e11f96..270c9a1 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/ConfigurationsTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/regressionTests/ConfigurationsTest.kt
@@ -505,7 +505,7 @@
                     extensions.asMap.keys,
                     kotlin.sourceSets.names,
                     kotlin.targets.names,
-                    @Suppress("DEPRECATION")
+                    @Suppress("DEPRECATION_ERROR")
                     kotlin.presets.names,
                 ).flatten()
             }
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinHierarchyBuilderTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinHierarchyBuilderTest.kt
index 6fe8797..d8e40c3 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinHierarchyBuilderTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/KotlinHierarchyBuilderTest.kt
@@ -23,7 +23,7 @@
     fun `test - interface offers functions for known presets`() {
         val kotlinTargetHierarchyBuilderInterface = KotlinHierarchyBuilder::class.java
 
-        @Suppress("DEPRECATION")
+        @Suppress("DEPRECATION_ERROR")
         buildProjectWithMPP().multiplatformExtension.presets
 
             // JS targets are special and therefore are only handled manually using `withJs()`
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/MppDiagnosticsFunctionalTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/MppDiagnosticsFunctionalTest.kt
index d7402d5..2a9cf1f 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/MppDiagnosticsFunctionalTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/MppDiagnosticsFunctionalTest.kt
@@ -46,7 +46,7 @@
     fun testDeprecatedJvmWithJavaPreset() {
         checkDiagnosticsWithMppProject("deprecatedJvmWithJavaPreset") {
             kotlin {
-                @Suppress("DEPRECATION")
+                @Suppress("DEPRECATION_ERROR")
                 targetFromPresetInternal(presets.getByName(KotlinJvmWithJavaTargetPreset.PRESET_NAME))
             }
         }
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/TargetPresetDeprecationTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/TargetPresetDeprecationTest.kt
index fa129d3..e935d20 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/TargetPresetDeprecationTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/unitTests/diagnosticsTests/TargetPresetDeprecationTest.kt
@@ -3,7 +3,7 @@
  * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
  */
 
-@file:Suppress("DEPRECATION", "FunctionName")
+@file:Suppress("FunctionName")
 
 package org.jetbrains.kotlin.gradle.unitTests.diagnosticsTests
 
@@ -20,6 +20,7 @@
     fun `targetFromPreset usage - emits TargetFromPreset diagnostic`() = checkDiagnostics(
         "PresetDeprecation-targetFromPreset"
     ) {
+        @Suppress("DEPRECATION_ERROR")
         targetFromPreset(presets.getByName("jvm"))
     }
 
@@ -28,6 +29,7 @@
         "PresetDeprecation-fromPreset"
     ) {
         targets {
+            @Suppress("DEPRECATION_ERROR")
             fromPreset(presets.getByName("jvm"), "jvm")
         }
     }
@@ -36,6 +38,7 @@
     fun `presets createTarget usage - emits CreateTarget diagnostic`() = checkDiagnostics(
         "PresetDeprecation-createTarget"
     ) {
+        @Suppress("DEPRECATION_ERROR")
         targets.add(presets.getByName("jvm").createTarget("jvm"))
     }
 
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/PresetDeprecation-createTarget.txt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/PresetDeprecation-createTarget.txt
index c5766f2..f0c7ca1 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/PresetDeprecation-createTarget.txt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/PresetDeprecation-createTarget.txt
@@ -1 +1 @@
-[CreateTarget | WARNING] The KotlinTargetPreset.createTarget() API is deprecated and will be removed in future releases. Learn how to configure targets at: https://kotl.in/target-configuration
+[CreateTarget | ERROR] The KotlinTargetPreset.createTarget() API is deprecated and will be removed in 2.2.0 releases. Learn how to configure targets at: https://kotl.in/target-configuration
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/PresetDeprecation-fromPreset.txt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/PresetDeprecation-fromPreset.txt
index c7394f7..6b3a17a 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/PresetDeprecation-fromPreset.txt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/PresetDeprecation-fromPreset.txt
@@ -1 +1 @@
-[FromPreset | WARNING] The fromPreset() API is deprecated and will be removed in future releases. Learn how to configure targets at: https://kotl.in/target-configuration
+[FromPreset | ERROR] The fromPreset() API is deprecated and will be removed in 2.2.0 releases. Learn how to configure targets at: https://kotl.in/target-configuration
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/PresetDeprecation-targetFromPreset.txt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/PresetDeprecation-targetFromPreset.txt
index 902c1d8..f2d2345 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/PresetDeprecation-targetFromPreset.txt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/resources/expectedDiagnostics/PresetDeprecation-targetFromPreset.txt
@@ -1 +1 @@
-[TargetFromPreset | WARNING] The targetFromPreset() API is deprecated and will be removed in future releases. Learn how to configure targets at: https://kotl.in/target-configuration
+[TargetFromPreset | ERROR] The targetFromPreset() API is deprecated and will be removed in 2.2.0 releases. Learn how to configure targets at: https://kotl.in/target-configuration
\ No newline at end of file