From 45b608e195587507c9a8c2913bc64a2306716c15 Mon Sep 17 00:00:00 2001 From: Alexander Likhachev Date: Tue, 20 Sep 2022 16:43:01 +0200 Subject: [PATCH] [Gradle] Move default variant implementations registration upwards Now default variant implementations are being registered in DefaultKotlinBasePlugin, allowing to test KGP api without dealing with variant factories --- .../gradle/plugin/KotlinPluginWrapper.kt | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt index 77bcb14550a..15453f448ff 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPluginWrapper.kt @@ -83,6 +83,8 @@ abstract class DefaultKotlinBasePlugin : KotlinBasePlugin { addKotlinCompilerConfiguration(project) + project.registerDefaultVariantImplementations() + project.configurations.maybeCreate(PLUGIN_CLASSPATH_CONFIGURATION_NAME).apply { isVisible = false isCanBeConsumed = false @@ -119,6 +121,34 @@ abstract class DefaultKotlinBasePlugin : KotlinBasePlugin { } } + private fun Project.registerDefaultVariantImplementations() { + val factories = VariantImplementationFactories.get(project.gradle) + factories.putIfAbsent( + MavenPluginConfigurator.MavenPluginConfiguratorVariantFactory::class, + MavenPluginConfigurator.DefaultMavenPluginConfiguratorVariantFactory() + ) + + factories.putIfAbsent( + JavaSourceSetsAccessor.JavaSourceSetsAccessorVariantFactory::class, + DefaultJavaSourceSetsAccessorVariantFactory() + ) + + factories.putIfAbsent( + BasePluginConfiguration.BasePluginConfigurationVariantFactory::class, + DefaultBasePluginConfigurationVariantFactory() + ) + + factories.putIfAbsent( + IdeaSyncDetector.IdeaSyncDetectorVariantFactory::class, + DefaultIdeaSyncDetectorVariantFactory() + ) + + factories.putIfAbsent( + ConfigurationTimePropertiesAccessor.ConfigurationTimePropertiesAccessorVariantFactory::class, + DefaultConfigurationTimePropertiesAccessorVariantFactory() + ) + } + protected fun setupAttributeMatchingStrategy( project: Project, isKotlinGranularMetadata: Boolean = project.isKotlinGranularMetadataEnabled @@ -160,8 +190,6 @@ abstract class KotlinBasePluginWrapper : DefaultKotlinBasePlugin() { } project.maybeCreateCommonizerClasspathConfiguration() - project.registerDefaultVariantImplementations() - project.createKotlinExtension(projectExtensionClass).apply { coreLibrariesVersion = kotlinPluginVersion @@ -187,34 +215,6 @@ abstract class KotlinBasePluginWrapper : DefaultKotlinBasePlugin() { project.registerBuildKotlinToolingMetadataTask() } - private fun Project.registerDefaultVariantImplementations() { - val factories = VariantImplementationFactories.get(project.gradle) - factories.putIfAbsent( - MavenPluginConfigurator.MavenPluginConfiguratorVariantFactory::class, - MavenPluginConfigurator.DefaultMavenPluginConfiguratorVariantFactory() - ) - - factories.putIfAbsent( - JavaSourceSetsAccessor.JavaSourceSetsAccessorVariantFactory::class, - DefaultJavaSourceSetsAccessorVariantFactory() - ) - - factories.putIfAbsent( - BasePluginConfiguration.BasePluginConfigurationVariantFactory::class, - DefaultBasePluginConfigurationVariantFactory() - ) - - factories.putIfAbsent( - IdeaSyncDetector.IdeaSyncDetectorVariantFactory::class, - DefaultIdeaSyncDetectorVariantFactory() - ) - - factories.putIfAbsent( - ConfigurationTimePropertiesAccessor.ConfigurationTimePropertiesAccessorVariantFactory::class, - DefaultConfigurationTimePropertiesAccessorVariantFactory() - ) - } - internal open fun createTestRegistry(project: Project) = KotlinTestsRegistry(project) internal abstract fun getPlugin(