[Gradle] Add deprecated accessor to sourceSets inside KotlinSourceSet

Apparently, using such an approach is a popular case especially for
configuring 'dependsOn' parameter. And we should simplify user migration
 to more restricted DSL.

^KT-64722 Verification Pending
This commit is contained in:
Yahor Berdnikau
2024-01-05 16:04:48 +01:00
committed by Space Team
parent eb663117c7
commit 5fba2962b9
6 changed files with 44 additions and 4 deletions
@@ -1109,6 +1109,7 @@ public abstract interface class org/jetbrains/kotlin/gradle/plugin/KotlinSourceS
public abstract fun getLanguageSettings ()Lorg/jetbrains/kotlin/gradle/plugin/LanguageSettingsBuilder;
public abstract fun getResources ()Lorg/gradle/api/file/SourceDirectorySet;
public abstract fun getRuntimeOnlyMetadataConfigurationName ()Ljava/lang/String;
public abstract fun getSourceSets ()Lorg/gradle/api/NamedDomainObjectContainer;
public abstract fun kotlin (Lkotlin/jvm/functions/Function1;)Lorg/gradle/api/file/SourceDirectorySet;
public abstract fun kotlin (Lorg/gradle/api/Action;)Lorg/gradle/api/file/SourceDirectorySet;
public abstract fun languageSettings (Lkotlin/jvm/functions/Function1;)Lorg/jetbrains/kotlin/gradle/plugin/LanguageSettingsBuilder;
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.gradle.plugin
import org.gradle.api.Action
import org.gradle.api.Named
import org.gradle.api.NamedDomainObjectContainer
import org.gradle.api.file.SourceDirectorySet
import org.jetbrains.kotlin.gradle.dsl.KotlinGradlePluginDsl
import org.jetbrains.kotlin.tooling.core.HasMutableExtras
@@ -47,4 +48,12 @@ interface KotlinSourceSet : Named, HasProject, HasMutableExtras, HasKotlinDepend
val customSourceFilesExtensions: Iterable<String> // lazy iterable expected
fun addCustomSourceFilesExtensions(extensions: List<String>) {}
@Deprecated(
"Accessing 'sourceSets' container inside another KotlinSourceSet is deprecated. " +
"Consider accessing 'sourceSets' only on the Kotlin extension level.",
level = DeprecationLevel.WARNING,
replaceWith = ReplaceWith("project.kotlin.sourceSets")
)
val sourceSets: NamedDomainObjectContainer<KotlinSourceSet>
}
@@ -83,8 +83,9 @@ interface KotlinTarget : Named, HasAttributes, HasProject, HasMutableExtras {
@Deprecated(
"Accessing 'sourceSets' container on the Kotlin target level DSL is deprecated. " +
"Consider configuring 'sourceSets' on the Kotlin extension level.",
level = DeprecationLevel.WARNING
"Consider accessing 'sourceSets' on the Kotlin extension level.",
level = DeprecationLevel.WARNING,
replaceWith = ReplaceWith("project.kotlin.sourceSets")
)
val sourceSets: NamedDomainObjectContainer<KotlinSourceSet>
}