[Gradle] Partially restore top-level compiler options DSL in MPP

To support configuring free compiler arguments for all shared source
sets (KT-61573), we restore 'compilerOptions { }' DSL in the
multiplatform extension.

To avoid user confusion on accidentally using 'compilerOptions {}'
inside Kotlin targets and Kotlin compilations DSL, similar methods with
ERROR deprecation level were added into `KotlinTarget` and
`KotlinCompilation` interfaces. Invoking these interfaces will throw
UnsupportedOperationException. Such an approach works both for Kotlin
and Groove Gradle scripts.

^KT-63491 Fixed
This commit is contained in:
Yahor Berdnikau
2023-11-15 21:37:53 +01:00
committed by Space Team
parent f32fd314f8
commit ffa6bfc95e
11 changed files with 497 additions and 36 deletions
@@ -34,6 +34,8 @@ public abstract class org/jetbrains/kotlin/gradle/dsl/KotlinMultiplatformExtensi
public fun applyHierarchyTemplate (Lkotlin/jvm/functions/Function1;)V
public fun applyHierarchyTemplate (Lorg/jetbrains/kotlin/gradle/plugin/KotlinHierarchyTemplate;)V
public fun applyHierarchyTemplate (Lorg/jetbrains/kotlin/gradle/plugin/KotlinHierarchyTemplate;Lkotlin/jvm/functions/Function1;)V
public final fun compilerOptions (Lkotlin/jvm/functions/Function1;)V
public final fun compilerOptions (Lorg/gradle/api/Action;)V
public fun dependencies (Lorg/gradle/api/NamedDomainObjectProvider;Lkotlin/jvm/functions/Function1;)V
public fun getAndroidMain (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
public fun getAndroidNativeMain (Lorg/gradle/api/NamedDomainObjectContainer;)Lorg/gradle/api/NamedDomainObjectProvider;
@@ -738,6 +740,8 @@ public class org/jetbrains/kotlin/gradle/plugin/mpp/external/DecoratedExternalKo
public fun <init> (Lorg/jetbrains/kotlin/gradle/plugin/mpp/external/DecoratedExternalKotlinTarget$Delegate;)V
public fun attributes (Lkotlin/jvm/functions/Function1;)V
public fun attributes (Lorg/gradle/api/Action;)V
public fun compilerOptions (Lkotlin/jvm/functions/Function1;)V
public fun compilerOptions (Lorg/gradle/api/Action;)V
public final fun getApiElementsConfiguration ()Lorg/gradle/api/artifacts/Configuration;
public fun getApiElementsConfigurationName ()Ljava/lang/String;
public final fun getApiElementsPublishedConfiguration ()Lorg/gradle/api/artifacts/Configuration;