[Gradle] Add deprecated access to sourceSets container inside KotlinTarget

This should keep compatability with user scripts that for any reason tried to configure 'sourceSets' container inside KotlinTarget, but keep such users warned.

^KT-57292 In Progress
This commit is contained in:
Yahor Berdnikau
2023-12-18 22:11:42 +01:00
committed by Space Team
parent 36e85fec95
commit 2af60a5e27
5 changed files with 42 additions and 3 deletions
@@ -1161,6 +1161,7 @@ public abstract interface class org/jetbrains/kotlin/gradle/plugin/KotlinTarget
public abstract fun getPreset ()Lorg/jetbrains/kotlin/gradle/plugin/KotlinTargetPreset;
public abstract fun getPublishable ()Z
public abstract fun getRuntimeElementsConfigurationName ()Ljava/lang/String;
public abstract fun getSourceSets ()Lorg/gradle/api/NamedDomainObjectContainer;
public abstract fun getSourcesElementsConfigurationName ()Ljava/lang/String;
public abstract fun getTargetName ()Ljava/lang/String;
public abstract fun getUseDisambiguationClassifierAsSourceSetNamePrefix ()Z
@@ -17,7 +17,6 @@ import org.gradle.api.publish.maven.MavenPublication
import org.jetbrains.kotlin.gradle.PRESETS_API_IS_DEPRECATED_MESSAGE
import org.jetbrains.kotlin.gradle.DeprecatedTargetPresetApi
import org.jetbrains.kotlin.gradle.InternalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptionsDeprecated
import org.jetbrains.kotlin.gradle.dsl.KotlinGradlePluginDsl
@@ -81,6 +80,13 @@ interface KotlinTarget : Named, HasAttributes, HasProject, HasMutableExtras {
fun compilerOptions(configure: Action<KotlinCommonCompilerOptions>) {
throw UnsupportedOperationException("Kotlin target level compiler options DSL is not available in this release!")
}
@Deprecated(
"Accessing 'sourceSets' container on the Kotlin target level DSL is deprecated. " +
"Consider configuring 'sourceSets' on the Kotlin extension level.",
level = DeprecationLevel.WARNING
)
val sourceSets: NamedDomainObjectContainer<KotlinSourceSet>
}
interface KotlinTargetWithTests<E : KotlinExecution.ExecutionSource, T : KotlinTargetTestRun<E>> : KotlinTarget {