private def allModulesWithDocs: Seq[ModuleReportAdapter] = projects.flatMap()

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)
  }