[Gradle] Schedule 'relatedConfigurationNames' for removal in 2.0

^KT-58220 Verification Pending
See: KT-58225
This commit is contained in:
Sebastian Sellmair
2023-04-25 10:33:13 +02:00
committed by Space Team
parent 25c2fe03a9
commit fa40c1115a
11 changed files with 18 additions and 0 deletions
@@ -181,6 +181,7 @@ interface HasKotlinDependencies {
val compileOnlyConfigurationName: String
val runtimeOnlyConfigurationName: String
@Deprecated("Scheduled for removal with Kotlin 2.0")
val relatedConfigurationNames: List<String>
get() = listOf(apiConfigurationName, implementationConfigurationName, compileOnlyConfigurationName, runtimeOnlyConfigurationName)
}
@@ -101,6 +101,8 @@ interface KotlinCompilation<out T : KotlinCommonOptionsDeprecated> : Named,
override fun getName(): String = compilationName
@Deprecated("Scheduled for removal with Kotlin 2.0")
@Suppress("DEPRECATION")
override val relatedConfigurationNames: List<String>
get() = super.relatedConfigurationNames + compileDependencyConfigurationName
@@ -114,6 +116,8 @@ interface KotlinCompilationToRunnableFiles<T : KotlinCommonOptionsDeprecated> :
override var runtimeDependencyFiles: FileCollection
@Suppress("DEPRECATION")
@Deprecated("Scheduled for removal with Kotlin 2.0")
override val relatedConfigurationNames: List<String>
get() = super.relatedConfigurationNames + runtimeDependencyConfigurationName
}
@@ -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<String>
get() = super.relatedConfigurationNames +
// TODO: resolvable metadata configurations?
@@ -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<String>
get() = compilation.relatedConfigurationNames
}
@@ -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) }
@@ -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<String> = listOfNotNull(
apiConfigurationName,
implementationConfigurationName,
@@ -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 ||
@@ -40,6 +40,7 @@ internal abstract class KotlinSourceSetFactory<T : KotlinSourceSet> 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)) {
@@ -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<String>
get() = super.relatedConfigurationNames + npmConfigurationName + publicPackageJsonConfigurationName
@@ -49,6 +49,8 @@ open class KotlinJvmAndroidCompilation @Inject internal constructor(
val compileJavaTaskProvider: TaskProvider<out JavaCompile>
get() = androidVariant.getJavaTaskProvider()
@Deprecated("Scheduled for removal with Kotlin 2.0")
@Suppress("DEPRECATION")
override val relatedConfigurationNames: List<String>
get() = compilation.relatedConfigurationNames + listOf(
"${androidVariant.name}ApiElements",
@@ -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