diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index a078ea67728..c313ca67f5d 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -413,8 +413,8 @@ internal abstract class AbstractKotlinPlugin( } } - VariantImplementationFactories - .get(project.gradle)[MavenPluginConfigurator.MavenPluginConfiguratorVariantFactory::class] + project.gradle + .variantImplementationFactory() .getInstance() .applyConfiguration(project, target, shouldRewritePoms) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/VariantImplementationFactories.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/VariantImplementationFactories.kt index e97d652b3e4..a6e62a6ea53 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/VariantImplementationFactories.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/VariantImplementationFactories.kt @@ -56,4 +56,12 @@ abstract class VariantImplementationFactories : BuildService Gradle.variantImplementationFactory(): T = + VariantImplementationFactories.get(this)[T::class] + +internal inline fun < + reified T : VariantImplementationFactories.VariantImplementationFactory + > Gradle.variantImplementationFactoryProvider(): Provider = + VariantImplementationFactories.getProvider(this).map { it[T::class] }