diff options
| author | Błażej Kardyś <bkardys@virtuslab.com> | 2020-10-18 23:04:26 +0200 |
|---|---|---|
| committer | Błażej Kardyś <bkardys@virtuslab.com> | 2020-11-09 14:56:24 +0100 |
| commit | be80016c77e9b98a75d8e832dd5723737f0e1d72 (patch) | |
| tree | d4a1124e9278fcfb3a1c1b00cf743d8553ded011 /plugins/base/src/main/kotlin/transformers/documentables | |
| parent | 1aba0ec4973d7915caa93f1e9b3146ad82111903 (diff) | |
| download | dokka-be80016c77e9b98a75d8e832dd5723737f0e1d72.tar.gz dokka-be80016c77e9b98a75d8e832dd5723737f0e1d72.tar.bz2 dokka-be80016c77e9b98a75d8e832dd5723737f0e1d72.zip | |
Cleaning querying from plugins where possible
Diffstat (limited to 'plugins/base/src/main/kotlin/transformers/documentables')
2 files changed, 11 insertions, 5 deletions
diff --git a/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationReader.kt b/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationReader.kt index 6e26377e..b74242c3 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationReader.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationReader.kt @@ -4,6 +4,7 @@ package org.jetbrains.dokka.base.transformers.documentables import org.jetbrains.dokka.DokkaConfiguration import org.jetbrains.dokka.analysis.KotlinAnalysis +import org.jetbrains.dokka.base.DokkaBase import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentation.Classifier import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentationFragment import org.jetbrains.dokka.base.parsers.moduleAndPackage.ModuleAndPackageDocumentationParsingContext @@ -15,6 +16,8 @@ import org.jetbrains.dokka.model.SourceSetDependent import org.jetbrains.dokka.model.doc.* import org.jetbrains.dokka.model.doc.Deprecated import org.jetbrains.dokka.plugability.DokkaContext +import org.jetbrains.dokka.plugability.plugin +import org.jetbrains.dokka.plugability.querySingle import org.jetbrains.dokka.utilities.associateWithNotNull internal interface ModuleAndPackageDocumentationReader { @@ -22,15 +25,15 @@ internal interface ModuleAndPackageDocumentationReader { operator fun get(pkg: DPackage): SourceSetDependent<DocumentationNode> } -internal fun ModuleAndPackageDocumentationReader( - context: DokkaContext, kotlinAnalysis: KotlinAnalysis? = null -): ModuleAndPackageDocumentationReader = ContextModuleAndPackageDocumentationReader(context, kotlinAnalysis) +internal fun ModuleAndPackageDocumentationReader(context: DokkaContext): ModuleAndPackageDocumentationReader = + ContextModuleAndPackageDocumentationReader(context) private class ContextModuleAndPackageDocumentationReader( - private val context: DokkaContext, - private val kotlinAnalysis: KotlinAnalysis? + private val context: DokkaContext ) : ModuleAndPackageDocumentationReader { + private val kotlinAnalysis: KotlinAnalysis = context.plugin<DokkaBase>().querySingle { kotlinAnalysis } + private val documentationFragments: SourceSetDependent<List<ModuleAndPackageDocumentationFragment>> = context.configuration.sourceSets.associateWith { sourceSet -> sourceSet.includes.flatMap { include -> parseModuleAndPackageDocumentationFragments(include) } diff --git a/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt index 2b2a3f03..99fba9f7 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt @@ -4,12 +4,15 @@ import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet import org.jetbrains.dokka.model.DModule import org.jetbrains.dokka.model.SourceSetDependent import org.jetbrains.dokka.model.doc.DocumentationNode +import org.jetbrains.dokka.plugability.DokkaContext import org.jetbrains.dokka.transformers.documentation.PreMergeDocumentableTransformer internal class ModuleAndPackageDocumentationTransformer( private val moduleAndPackageDocumentationReader: ModuleAndPackageDocumentationReader ) : PreMergeDocumentableTransformer { + constructor(context: DokkaContext) : this(ModuleAndPackageDocumentationReader(context)) + override fun invoke(modules: List<DModule>): List<DModule> { return modules.map { module -> module.copy( |
