diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/internal/AndroidDependencyResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/internal/AndroidDependencyResolver.kt index cec099a278c..c5a81bfed81 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/internal/AndroidDependencyResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/android/internal/AndroidDependencyResolver.kt @@ -33,6 +33,8 @@ import org.gradle.api.services.BuildService import org.gradle.api.services.BuildServiceParameters import org.gradle.api.services.BuildServiceRegistry import org.gradle.internal.component.model.AttributeConfigurationSelector +import org.gradle.internal.component.model.ConfigurationMetadata +import org.gradle.internal.component.model.IvyArtifactName import org.jetbrains.kotlin.gradle.plugin.mpp.internal import org.jetbrains.kotlin.gradle.plugin.sources.android.findKotlinSourceSet import org.jetbrains.kotlin.gradle.plugin.sources.internal @@ -40,6 +42,8 @@ import org.jetbrains.kotlin.gradle.utils.forAllAndroidVariants import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import java.io.File import java.nio.file.Path +import kotlin.reflect.KFunction +import kotlin.reflect.full.staticFunctions data class AndroidDependency( val name: String? = null, @@ -290,12 +294,15 @@ object AndroidDependencyResolver { val rootComponentMetaData = (projectDependency.findProjectConfiguration() as? ConfigurationInternal)?.toRootComponentMetaData() ?: return@mapNotNull null - val matching = AttributeConfigurationSelector.selectConfigurationUsingAttributeMatching( + @Suppress("UNCHECKED_CAST") val selectConfiguration = + AttributeConfigurationSelector::class.staticFunctions.find { it.name == "selectConfigurationUsingAttributeMatching" } as? KFunction + ?: error("Static method AttributeConfigurationSelector.selectConfigurationUsingAttributeMatching does not exist") + val matching = selectConfiguration.call( (attributes as? AttributeContainerInternal)?.asImmutable() ?: return@mapNotNull null, emptyList(), rootComponentMetaData, (attributesSchema as? AttributesSchemaInternal) ?: return@mapNotNull null, - emptyList() + emptyList() ) projectDependency.dependencyProject.configurations.findByName(matching.name) }