From bae2c8de63baf0c0b627a17ae179400fbc3c5be9 Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Fri, 12 Jun 2020 14:54:54 +0200 Subject: Fix sourceSet matching inside ReportUndocumentedTransformer --- .../documentables/ReportUndocumentedTransformer.kt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'plugins/base/src/main') diff --git a/plugins/base/src/main/kotlin/transformers/documentables/ReportUndocumentedTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/ReportUndocumentedTransformer.kt index d33b41bf..31d1d241 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/ReportUndocumentedTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/ReportUndocumentedTransformer.kt @@ -90,17 +90,21 @@ internal class ReportUndocumentedTransformer : DocumentableTransformer { private fun isUndocumented(documentable: Documentable, sourceSet: SourceSetData): Boolean { fun resolveDependentSourceSets(sourceSet: SourceSetData): List { - return sourceSet.dependentSourceSets.map { sourceSetName -> - documentable.sourceSets.single { it.sourceSetID == sourceSetName } + return sourceSet.dependentSourceSets.mapNotNull { sourceSetID -> + documentable.sourceSets.singleOrNull { it.sourceSetID == sourceSetID } } } - fun flatDependentSourceSetsTree(sourceSet: SourceSetData): List { - return listOf(sourceSet) + resolveDependentSourceSets(sourceSet) - .flatMap { resolveDependentSourceSets -> flatDependentSourceSetsTree(resolveDependentSourceSets) } + fun withAllDependentSourceSets(sourceSet: SourceSetData): Sequence { + return sequence { + yield(sourceSet) + for (dependentSourceSet in resolveDependentSourceSets(sourceSet)) { + yieldAll(withAllDependentSourceSets(dependentSourceSet)) + } + } } - return flatDependentSourceSetsTree(sourceSet).all { sourceSetOrDependentSourceSet -> + return withAllDependentSourceSets(sourceSet).all { sourceSetOrDependentSourceSet -> documentable.documentation[sourceSetOrDependentSourceSet]?.children?.isEmpty() ?: true } } -- cgit