in extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala [25:43]
private def allModulesWithDocs: Seq[ModuleReportAdapter] = projects.flatMap(moduleWithDoc)
private def moduleWithDoc(projectRef: ProjectRef): Seq[ModuleReportAdapter] = {
val modulesWithoutDocs = getModulesForProject(projectRef, updateReports)
val modulesWithDocs = updateClassifiersReports.map { updateClassifiersReportsFn =>
def onlySourcesAndDocs(artifacts: Seq[(Artifact, File)]): Seq[(Artifact, File)] =
artifacts.collect { case (a, f) if a.`type` == Artifact.DocType || a.`type` == Artifact.SourceType => (a, f) }
val docModules = getModulesForProject(projectRef, updateClassifiersReportsFn)
modulesWithoutDocs.map { report =>
val matchingDocs = docModules.filter(_.moduleId == report.moduleId).flatMap(r => onlySourcesAndDocs(r.artifacts))
ModuleReportAdapter(report.moduleId, report.artifacts ++ matchingDocs)
}
}
modulesWithDocs.getOrElse(modulesWithoutDocs)
}