Add convenient extension methods to get variant implementation factory

^KT-47047 In Progress
This commit is contained in:
Yahor Berdnikau
2022-05-30 14:04:37 +02:00
committed by Space
parent ebce1a1d2d
commit d924c14df7
2 changed files with 11 additions and 3 deletions
@@ -413,8 +413,8 @@ internal abstract class AbstractKotlinPlugin(
} }
} }
VariantImplementationFactories project.gradle
.get(project.gradle)[MavenPluginConfigurator.MavenPluginConfiguratorVariantFactory::class] .variantImplementationFactory<MavenPluginConfigurator.MavenPluginConfiguratorVariantFactory>()
.getInstance() .getInstance()
.applyConfiguration(project, target, shouldRewritePoms) .applyConfiguration(project, target, shouldRewritePoms)
} }
@@ -56,4 +56,12 @@ abstract class VariantImplementationFactories : BuildService<BuildServiceParamet
fun get(gradle: Gradle): VariantImplementationFactories = getProvider(gradle).get() fun get(gradle: Gradle): VariantImplementationFactories = getProvider(gradle).get()
} }
} }
internal inline fun <reified T : VariantImplementationFactories.VariantImplementationFactory> Gradle.variantImplementationFactory(): T =
VariantImplementationFactories.get(this)[T::class]
internal inline fun <
reified T : VariantImplementationFactories.VariantImplementationFactory
> Gradle.variantImplementationFactoryProvider(): Provider<T> =
VariantImplementationFactories.getProvider(this).map { it[T::class] }