I am trying to change a simpel project to a multi-...
# dokka
b
I am trying to change a simpel project to a multi-module project, but (regardless of dokka 1.9 or 2.0), dokka finds no sources generate documentation from. Dokka 2 prints a really nice error message, but I don't know how to fix it:
KotlinAdapter failed to get KotlinProjectExtension in :kmmresult
Applied plugins: org.gradle.api.plugins.HelpTasksPlugin$Inject, org.gradle.buildinit.plugins.BuildInitPlugin$Inject, org.gradle.buildinit.plugins.WrapperPlugin$Inject, org.jetbrains.kotlin.gradle.scripting.internal.ScriptingKotlinGradleSubplugin, org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin, org.gradle.language.base.plugins.LifecycleBasePlugin$Inject, org.gradle.api.plugins.BasePlugin$Inject, org.gradle.api.plugins.JvmEcosystemPlugin$Inject, org.gradle.api.plugins.ReportingBasePlugin$Inject, org.gradle.api.plugins.JvmToolchainsPlugin$Inject, org.gradle.api.plugins.JavaBasePlugin$Inject, org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper, org.gradle.api.publish.plugins.PublishingPlugin$Inject, org.gradle.api.publish.maven.plugins.MavenPublishPlugin$Inject, org.gradle.plugins.signing.SigningPlugin$Inject, org.jetbrains.dokka.gradle.DokkaBasePlugin$Inject
Available extensions: ext org.gradle.api.plugins.ExtraPropertiesExtension, versionCatalogs org.gradle.api.artifacts.VersionCatalogsExtension, kotlin org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension, kotlinTestRegistry org.jetbrains.kotlin.gradle.testing.internal.KotlinTestsRegistry, base org.gradle.api.plugins.BasePluginExtension, defaultArtifacts org.gradle.api.internal.plugins.DefaultArtifactPublicationSet, sourceSets org.gradle.api.tasks.SourceSetContainer, reporting org.gradle.api.reporting.ReportingExtension, javaToolchains org.gradle.jvm.toolchain.JavaToolchainService, java org.gradle.api.plugins.JavaPluginExtension, kotlinArtifacts org.jetbrains.kotlin.gradle.targets.native.tasks.artifact.KotlinArtifactsExtensionImpl, publishing org.gradle.api.publish.PublishingExtension, signing org.gradle.plugins.signing.SigningExtension, dokka org.jetbrains.dokka.gradle.DokkaExtension
I even tried
Copy code
dokkaSourceSets {
    register("commonMain") {
But to no avail.
o
Do you have a reproducer somewhere to take a look on build setup? cc @Adam Semenenko
b
i can push my current intermediate state using a hardcoded
register("commonMain")
since it won't compile otherwise
This is just my current state. I know that including readme is all wrong, the github actions have not yet been updated, etc.
a
This is an unfortunate Gradle classloader issue. Quick fix: 1. Add
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0")
to
buildSrc/build.gradle.kts
, just like the Dokka plugin. 2. In the root project
build.gradle.kts
remove
kotlin("multiplatform") version "2.0.0" apply false
thank you color 2
b
Thank you very much! this makes sense, because the other projects i was referring to use a conventions plugin, so the KGP is already in teh classpath
a
Happy to help! If there's anything else, please ask.