Arimil
10/03/2022, 2:00 PMproject.getExtensions().configure(PublishingExtension.class, extension -> {
            extension.getPublications().registerFactory(MavenPublication.class, new MavenPublicationFactory(
                    dependencyMetaDataProvider,
                    instantiatorFactory.decorateLenient(),
                    fileResolver,
                    project.getPluginManager(),
                    project.getExtensions()));
            realizePublishingTasksLater(project, extension);
        });
However I'm having issues with the syntax for this in Kotlin.Arimil
10/03/2022, 2:01 PMproject.extensions.configure(
            PublishingExtension::class.java,
            Action<PublishingExtension> { extension: PublishingExtension ->
                extension.publications.registerFactory<MavenPublication>(
                    MavenPublication::class.java,
                    MavenPublicationFactory(
                        dependencyMetaDataProvider,
                        instantiatorFactory.decorateLenient(),
                        fileResolver,
                        project.pluginManager,
                        project.extensions
                    )
                )
                realizePublishingTasksLater(project, extension)
            })
Which is unfortunately invalid syntax.Roukanken
10/03/2022, 2:22 PMArimil
10/03/2022, 2:23 PMType mismatch: inferred type is PublishingExtension!.(PublishingExtension) -> Unit but TypeVariable(T)!.() -> Unit was expectedArimil
10/03/2022, 2:24 PMRoukanken
10/03/2022, 2:26 PMT.() -> Unit instead of T.(T) -> Unit
Basically it tells you, it wants the extension parameter as this insteadRoukanken
10/03/2022, 2:29 PMproject.extensions.configure(
            PublishingExtension::class.java,
            Action<PublishingExtension> { 
                publications.registerFactory<MavenPublication>(
                    MavenPublication::class.java,
                    MavenPublicationFactory(
                        dependencyMetaDataProvider,
                        instantiatorFactory.decorateLenient(),
                        fileResolver,
                        project.pluginManager,
                        project.extensions
                    )
                )
                realizePublishingTasksLater(project, this)
            })
something like this should be minimal change to get it working I think
(bunch of stuff is still extraneous tho)Arimil
10/03/2022, 2:33 PMRoukanken
10/03/2022, 2:36 PMproject.extensions.configure<PublishingExtension> {
            publications.registerFactory<MavenPublication>(
                MavenPublication::class.java,
                MavenPublicationFactory(
                    dependencyMetaDataProvider,
                    instantiatorFactory.decorateLenient(),
                    fileResolver,
                    project.pluginManager,
                    project.extensions
                )
            )
            realizePublishingTasksLater(project, this)
        }
this should work too as configure should have reified version afaik
and registerFactory will likely have one too, look if it has it