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 expected
Arimil
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