From fdf8a298f586d7e334c312346b70b59c64c8d037 Mon Sep 17 00:00:00 2001 From: Marcin Aman Date: Thu, 21 Jan 2021 00:34:43 +0100 Subject: Empty modules filtering (#1699) --- .../transformers/documentables/DefaultDocumentableMerger.kt | 6 ++---- .../documentables/EmptyModulesFilterTransformer.kt | 10 ++++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 plugins/base/src/main/kotlin/transformers/documentables/EmptyModulesFilterTransformer.kt (limited to 'plugins/base/src/main/kotlin/transformers/documentables') diff --git a/plugins/base/src/main/kotlin/transformers/documentables/DefaultDocumentableMerger.kt b/plugins/base/src/main/kotlin/transformers/documentables/DefaultDocumentableMerger.kt index 4c931230..94e27424 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/DefaultDocumentableMerger.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/DefaultDocumentableMerger.kt @@ -12,9 +12,8 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult internal class DefaultDocumentableMerger(val context: DokkaContext) : DocumentableMerger { private val dependencyInfo = context.getDependencyInfo() - override fun invoke(modules: Collection): DModule { - - return modules.reduce { left, right -> + override fun invoke(modules: Collection): DModule? = + modules.reduceOrNull { left, right -> val list = listOf(left, right) DModule( name = modules.map { it.name }.distinct().joinToString("|"), @@ -26,7 +25,6 @@ internal class DefaultDocumentableMerger(val context: DokkaContext) : Documentab sourceSets = list.flatMap { it.sourceSets }.toSet() ).mergeExtras(left, right) } - } private fun DokkaContext.getDependencyInfo() : Map> { diff --git a/plugins/base/src/main/kotlin/transformers/documentables/EmptyModulesFilterTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/EmptyModulesFilterTransformer.kt new file mode 100644 index 00000000..fa31c5c3 --- /dev/null +++ b/plugins/base/src/main/kotlin/transformers/documentables/EmptyModulesFilterTransformer.kt @@ -0,0 +1,10 @@ +package org.jetbrains.dokka.base.transformers.documentables + +import org.jetbrains.dokka.model.DModule +import org.jetbrains.dokka.transformers.documentation.PreMergeDocumentableTransformer + +class EmptyModulesFilterTransformer : PreMergeDocumentableTransformer { + override fun invoke(modules: List): List { + return modules.filter { it.children.isNotEmpty() } + } +} \ No newline at end of file -- cgit