From 3a148f97b55774e4d7dfe43eed2f7ee0a2c41475 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Wed, 2 Aug 2023 10:40:01 +0200 Subject: [PATCH] [Gradle] Configure tryK2 for target compiler options ^KT-57292 In Progress --- .../kotlin/gradle/plugin/mpp/KotlinMetadataTarget.kt | 2 ++ .../gradle/plugin/mpp/external/createExternalKotlinTarget.kt | 3 ++- .../kotlin/gradle/targets/android/KotlinAndroidTarget.kt | 1 + .../org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt | 5 ++++- .../jetbrains/kotlin/gradle/targets/jvm/KotlinJvmTarget.kt | 1 + .../kotlin/gradle/targets/jvm/KotlinWithJavaTarget.kt | 2 ++ .../kotlin/gradle/targets/native/KotlinNativeTarget.kt | 2 ++ 7 files changed, 14 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMetadataTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMetadataTarget.kt index 9a246d74e9e..e61dd7e9738 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMetadataTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMetadataTarget.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.gradle.plugin.KotlinTargetComponent import org.jetbrains.kotlin.gradle.targets.metadata.KotlinMetadataTargetConfigurator import org.jetbrains.kotlin.gradle.targets.metadata.isKotlinGranularMetadataEnabled +import org.jetbrains.kotlin.gradle.utils.configureExperimentalTryK2 import org.jetbrains.kotlin.gradle.utils.newInstance import javax.inject.Inject @@ -41,6 +42,7 @@ abstract class KotlinMetadataTarget @Inject constructor( @ExperimentalKotlinGradlePluginApi override val compilerOptions: KotlinCommonCompilerOptions = project.objects .newInstance() + .configureExperimentalTryK2(project) @ExperimentalKotlinGradlePluginApi fun compilerOptions(configure: KotlinCommonCompilerOptions.() -> Unit) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/external/createExternalKotlinTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/external/createExternalKotlinTarget.kt index 9820def1baa..9be7e58e566 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/external/createExternalKotlinTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/external/createExternalKotlinTarget.kt @@ -23,6 +23,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages import org.jetbrains.kotlin.gradle.plugin.mpp.configureSourcesPublicationAttributes import org.jetbrains.kotlin.gradle.plugin.usesPlatformOf import org.jetbrains.kotlin.gradle.tasks.locateOrRegisterTask +import org.jetbrains.kotlin.gradle.utils.* import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import org.jetbrains.kotlin.gradle.utils.markConsumable import org.jetbrains.kotlin.gradle.utils.named @@ -67,7 +68,7 @@ fun KotlinMultiplatformExtension.createExter KotlinPlatformType.js -> project.objects.newInstance() KotlinPlatformType.common -> project.objects.newInstance() KotlinPlatformType.native -> project.objects.newInstance() - } + }.configureExperimentalTryK2(project) val target = ExternalKotlinTargetImpl( project = project, diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTarget.kt index af23c8f8243..c70a9609ac7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/KotlinAndroidTarget.kt @@ -334,6 +334,7 @@ abstract class KotlinAndroidTarget @Inject constructor( @ExperimentalKotlinGradlePluginApi override val compilerOptions: KotlinJvmCompilerOptions = project.objects .newInstance() + .configureExperimentalTryK2(project) @ExperimentalKotlinGradlePluginApi fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt index 30e7d047cd6..753c884ac82 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt @@ -29,6 +29,7 @@ import org.jetbrains.kotlin.gradle.tasks.locateOrRegisterTask import org.jetbrains.kotlin.gradle.tasks.locateTask import org.jetbrains.kotlin.gradle.testing.internal.KotlinTestReport import org.jetbrains.kotlin.gradle.testing.testTaskName +import org.jetbrains.kotlin.gradle.utils.* import org.jetbrains.kotlin.gradle.utils.dashSeparatedName import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import org.jetbrains.kotlin.gradle.utils.newInstance @@ -251,5 +252,7 @@ constructor( } override val compilerOptions: KotlinJsCompilerOptions = - project.objects.newInstance() + project.objects + .newInstance() + .configureExperimentalTryK2(project) } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmTarget.kt index 0c0e0a2f994..a8e58eb2a36 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmTarget.kt @@ -338,6 +338,7 @@ abstract class KotlinJvmTarget @Inject constructor( @ExperimentalKotlinGradlePluginApi override val compilerOptions: KotlinJvmCompilerOptions = project.objects .newInstance() + .configureExperimentalTryK2(project) @ExperimentalKotlinGradlePluginApi fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinWithJavaTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinWithJavaTarget.kt index d8ff5e83bf1..4c8733ba5e0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinWithJavaTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinWithJavaTarget.kt @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType import org.jetbrains.kotlin.gradle.plugin.internal.JavaSourceSetsAccessor import org.jetbrains.kotlin.gradle.plugin.variantImplementationFactory import org.jetbrains.kotlin.gradle.tasks.KOTLIN_BUILD_DIR_NAME +import org.jetbrains.kotlin.gradle.utils.configureExperimentalTryK2 import org.jetbrains.kotlin.gradle.utils.newInstance import java.io.File import javax.inject.Inject @@ -65,6 +66,7 @@ abstract class KotlinWithJavaTarget() + .configureExperimentalTryK2(project) @ExperimentalKotlinGradlePluginApi fun compilerOptions(configure: KotlinJvmCompilerOptions.() -> Unit) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt index d938f080974..284277dadf9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/KotlinNativeTarget.kt @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.gradle.targets.native.KotlinNativeSimulatorTestRun import org.jetbrains.kotlin.gradle.targets.native.NativeBinaryTestRunSource import org.jetbrains.kotlin.gradle.targets.native.internal.includeCommonizedCInteropMetadata import org.jetbrains.kotlin.gradle.tasks.locateOrRegisterTask +import org.jetbrains.kotlin.gradle.utils.configureExperimentalTryK2 import org.jetbrains.kotlin.gradle.utils.dashSeparatedName import org.jetbrains.kotlin.gradle.utils.klibModuleName import org.jetbrains.kotlin.gradle.utils.newInstance @@ -139,6 +140,7 @@ abstract class KotlinNativeTarget @Inject constructor( @ExperimentalKotlinGradlePluginApi override val compilerOptions: KotlinNativeCompilerOptions = project.objects .newInstance() + .configureExperimentalTryK2(project) .apply { moduleName.convention( project.klibModuleName(