From fa40c1115a4a2995f5b46b8df5f97199c2d48f63 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Tue, 25 Apr 2023 10:33:13 +0200 Subject: [PATCH] [Gradle] Schedule 'relatedConfigurationNames' for removal in 2.0 ^KT-58220 Verification Pending See: KT-58225 --- .../jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt | 1 + .../org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt | 4 ++++ .../kotlin/gradle/plugin/mpp/pm20/GradleKpmFragment.kt | 2 ++ .../plugin/mpp/AbstractKotlinCompilationToRunnableFiles.kt | 2 ++ .../kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt | 1 + .../plugin/mpp/compilationImpl/KotlinCompilationImpl.kt | 1 + .../kotlin/gradle/plugin/mpp/mppDependencyRewritingUtils.kt | 1 + .../kotlin/gradle/plugin/sources/KotlinSourceSetFactory.kt | 1 + .../jetbrains/kotlin/gradle/targets/js/KotlinJsCompilation.kt | 2 ++ .../kotlin/gradle/targets/jvm/KotlinJvmAndroidCompilation.kt | 2 ++ .../kotlin/gradle/regressionTests/ConfigurationsTest.kt | 1 + 11 files changed, 18 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt index ac3d6d3281f..818f16f271b 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/HasKotlinDependencies.kt @@ -181,6 +181,7 @@ interface HasKotlinDependencies { val compileOnlyConfigurationName: String val runtimeOnlyConfigurationName: String + @Deprecated("Scheduled for removal with Kotlin 2.0") val relatedConfigurationNames: List get() = listOf(apiConfigurationName, implementationConfigurationName, compileOnlyConfigurationName, runtimeOnlyConfigurationName) } diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt index edbac72376a..d4d17fe5cbd 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation.kt @@ -101,6 +101,8 @@ interface KotlinCompilation : Named, override fun getName(): String = compilationName + @Deprecated("Scheduled for removal with Kotlin 2.0") + @Suppress("DEPRECATION") override val relatedConfigurationNames: List get() = super.relatedConfigurationNames + compileDependencyConfigurationName @@ -114,6 +116,8 @@ interface KotlinCompilationToRunnableFiles : override var runtimeDependencyFiles: FileCollection + @Suppress("DEPRECATION") + @Deprecated("Scheduled for removal with Kotlin 2.0") override val relatedConfigurationNames: List get() = super.relatedConfigurationNames + runtimeDependencyConfigurationName } diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmFragment.kt b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmFragment.kt index 0bf7af7eddf..52f74893b4e 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmFragment.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/pm20/GradleKpmFragment.kt @@ -64,6 +64,8 @@ interface GradleKpmFragment : KpmFragment, HasKotlinDependencies, GradleKpmFragm override val runtimeOnlyConfigurationName: String get() = runtimeOnlyConfiguration.name + @Deprecated("Scheduled for removal with Kotlin 2.0") + @Suppress("DEPRECATION") override val relatedConfigurationNames: List get() = super.relatedConfigurationNames + // TODO: resolvable metadata configurations? diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/AbstractKotlinCompilationToRunnableFiles.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/AbstractKotlinCompilationToRunnableFiles.kt index 8a72051266f..a200658b2da 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/AbstractKotlinCompilationToRunnableFiles.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/AbstractKotlinCompilationToRunnableFiles.kt @@ -22,6 +22,8 @@ internal constructor(compilation: KotlinCompilationImpl) : AbstractKotlinCompila final override var runtimeDependencyFiles: FileCollection = compilation.runtimeDependencyFiles ?: error("$compilation: Missing 'runtimeDependencyFiles'") + @Deprecated("Scheduled for removal with Kotlin 2.0") + @Suppress("DEPRECATION") override val relatedConfigurationNames: List get() = compilation.relatedConfigurationNames } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt index b9e5fe8fe4e..aa512633814 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinMultiplatformPlugin.kt @@ -248,6 +248,7 @@ internal fun applyUserDefinedAttributes(target: AbstractKotlinTarget) { target.compilations.all { compilation -> val compilationAttributes = compilation.attributes + @Suppress("DEPRECATION") compilation.relatedConfigurationNames .mapNotNull { configurationName -> target.project.configurations.findByName(configurationName) } .forEach { configuration -> copyAttributes(compilationAttributes, configuration.attributes) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationImpl.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationImpl.kt index 616935d55ce..86dd78b0a5d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationImpl.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/compilationImpl/KotlinCompilationImpl.kt @@ -126,6 +126,7 @@ internal class KotlinCompilationImpl constructor( override var runtimeDependencyFiles: FileCollection? = configurations.runtimeDependencyConfiguration + @Deprecated("Scheduled for removal with Kotlin 2.0") override val relatedConfigurationNames: List = listOfNotNull( apiConfigurationName, implementationConfigurationName, diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/mppDependencyRewritingUtils.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/mppDependencyRewritingUtils.kt index 9dedd13f6eb..7e12f18aa83 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/mppDependencyRewritingUtils.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/mppDependencyRewritingUtils.kt @@ -219,6 +219,7 @@ private fun KotlinTargetComponent.findUsageContext(configurationName: String): U return usageContexts.find { usageContext -> if (usageContext !is KotlinUsageContext) return@find false val compilation = usageContext.compilation + @Suppress("DEPRECATION") configurationName in compilation.relatedConfigurationNames || configurationName == compilation.target.apiElementsConfigurationName || configurationName == compilation.target.runtimeElementsConfigurationName || diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/KotlinSourceSetFactory.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/KotlinSourceSetFactory.kt index 40c1aca0ee5..a80b98d17e9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/KotlinSourceSetFactory.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/sources/KotlinSourceSetFactory.kt @@ -40,6 +40,7 @@ internal abstract class KotlinSourceSetFactory internal con } private fun defineSourceSetConfigurations(project: Project, sourceSet: KotlinSourceSet) = with(project.configurations) { + @Suppress("DEPRECATION") sourceSet.relatedConfigurationNames.forEach { configurationName -> maybeCreate(configurationName).apply { if (!configurationName.endsWith(METADATA_CONFIGURATION_NAME_SUFFIX)) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsCompilation.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsCompilation.kt index 23d56150345..0a3c311b3f7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsCompilation.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsCompilation.kt @@ -60,6 +60,8 @@ open class KotlinJsCompilation @Inject internal constructor( val publicPackageJsonConfigurationName get() = compilation.disambiguateName("publicPackageJsonConfiguration") + @Deprecated("Scheduled for removal with Kotlin 2.0") + @Suppress("DEPRECATION") override val relatedConfigurationNames: List get() = super.relatedConfigurationNames + npmConfigurationName + publicPackageJsonConfigurationName diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmAndroidCompilation.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmAndroidCompilation.kt index c95fc190200..feb70ed2aa6 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmAndroidCompilation.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/jvm/KotlinJvmAndroidCompilation.kt @@ -49,6 +49,8 @@ open class KotlinJvmAndroidCompilation @Inject internal constructor( val compileJavaTaskProvider: TaskProvider get() = androidVariant.getJavaTaskProvider() + @Deprecated("Scheduled for removal with Kotlin 2.0") + @Suppress("DEPRECATION") override val relatedConfigurationNames: List get() = compilation.relatedConfigurationNames + listOf( "${androidVariant.name}ApiElements", 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 25c3bfb7175..3cb575112c9 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 @@ -275,6 +275,7 @@ class ConfigurationsTest : MultiplatformExtensionTest() { project.evaluate() + @Suppress("DEPRECATION") project.kotlinExtension.targets.flatMap { it.compilations }.forEach { compilation -> val compilationSourceSets = compilation.allKotlinSourceSets val compilationConfigurationNames = compilation.relatedConfigurationNames