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
.get(project.gradle)[MavenPluginConfigurator.MavenPluginConfiguratorVariantFactory::class]
project.gradle
.variantImplementationFactory<MavenPluginConfigurator.MavenPluginConfiguratorVariantFactory>()
.getInstance()
.applyConfiguration(project, target, shouldRewritePoms)
}
@@ -56,4 +56,12 @@ abstract class VariantImplementationFactories : BuildService<BuildServiceParamet
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] }