Skip to content

not able to suppress dokkaSourceSet jvmMain  #3209

@robstoll

Description

@robstoll

Describe the bug
A clear and concise description of what the bug is

Looks like dokka depends on a present jvmMain in order to be able to generate documentation (at least as soon as the jvm platform is involved). If you suppress jvmMain then you get the following exception:

Build atrium FAILURE reason:                                
    Execution failed for task ':atrium-core:dokkaHtmlJs':
        java.util.NoSuchElementException: Collection contains no element matching the predicate.
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.java.DescriptorKotlinDocCommentParser.parseDocumentation(DescriptorKotlinDocCommentParser.kt:59)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.java.DescriptorKotlinDocCommentParser.parseDocumentation$default(DescriptorKotlinDocCommentParser.kt:31)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.java.DescriptorKotlinDocCommentParser.parse(DescriptorKotlinDocCommentParser.kt:28)
            at org.jetbrains.dokka.analysis.java.parsers.JavadocParser.parseDocumentation(JavadocParser.kt:22)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.translator.DokkaDescriptorVisitor.getJavaDocs(DefaultDescriptorToDocumentableTranslator.kt:1085)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.translator.DokkaDescriptorVisitor.resolveDocumentation(DefaultDescriptorToDocumentableTranslator.kt:1076)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.translator.DokkaDescriptorVisitor.resolveDescriptorData(DefaultDescriptorToDocumentableTranslator.kt:919)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.translator.DokkaDescriptorVisitor.access$resolveDescriptorData(DefaultDescriptorToDocumentableTranslator.kt:145)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.translator.DokkaDescriptorVisitor$visitPropertyAccessorDescriptor$3.invokeSuspend(DefaultDescriptorToDocumentableTranslator.kt:775)
            at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
            at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.translator.DokkaDescriptorVisitor.visitPropertyAccessorDescriptor(DefaultDescriptorToDocumentableTranslator.kt:767)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.translator.DokkaDescriptorVisitor.access$visitPropertyAccessorDescriptor(DefaultDescriptorToDocumentableTranslator.kt:145)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.translator.DokkaDescriptorVisitor$visitPropertyDescriptor$2.invokeSuspend(DefaultDescriptorToDocumentableTranslator.kt:480)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.translator.DokkaDescriptorVisitor$visitPropertyDescriptor$6.invokeSuspend(DefaultDescriptorToDocumentableTranslator.kt:499)
            at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
            at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.translator.DokkaDescriptorVisitor.visitPropertyDescriptor(DefaultDescriptorToDocumentableTranslator.kt:497)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.translator.DokkaDescriptorVisitor.access$visitPropertyDescriptor(DefaultDescriptorToDocumentableTranslator.kt:145)
            at org.jetbrains.dokka.analysis.kotlin.descriptors.compiler.translator.DokkaDescriptorVisitor$visitProperties$2$invokeSuspend$$inlined$parallelMap$1$1.invokeSuspend(parallelCollectionOperations.kt:24)
            at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
            at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
            at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
            at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
            at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
            at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

Expected behaviour
Should work

Screenshots
If applicable, add screenshots to help explain your problem

To Reproduce

  1. create MPP with jvm + js platform
  2. suppress jvmMain dokkaSourceset

Dokka configuration
Configuration of dokka used to reproduce the bug

Installation

  • Operating system: linux
  • Build tool: Gradle v8.1.0
  • Dokka version: 1.9.0

Additional context
Add any other context about the problem here

Are you willing to provide a PR?
Providing a PR can drastically speed up the process of fixing this bug

Metadata

Metadata

Assignees

Labels

buglanguage: KotlinIssue/PR related to the Kotlin language feature/analysis/docs

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions