private def getModulesForProject()

in extractor/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala [70:101]


  private def getModulesForProject(projectRef: ProjectRef, updateReportFn: ProjectRef => UpdateReportAdapter): Seq[ModuleReportAdapter] =
    projectToConfigurationsName(projectRef).flatMap(updateReportFn(projectRef).modulesFrom).filter(_.artifacts.nonEmpty)

  private def createModuleData(moduleId: ModuleIdentifier, moduleReports: Seq[ModuleReportAdapter]): ModuleData = {
    val allArtifacts = moduleReports.flatMap(_.artifacts)

    val classpathArtifacts = mutable.Set.empty[File]
    val docArtifacts = mutable.Set.empty[File]
    val sourceArtifacts = mutable.Set.empty[File]

    allArtifacts
      .filter { case (a, _) => moduleId.classifier == fuseClassifier(a) }
      .foreach { case (a, f) =>
        val artifactType = a.`type`
        if (allClasspathTypes.contains(artifactType)) {
          classpathArtifacts += f
        }
        if (artifactType == Artifact.DocType) {
          docArtifacts += f
        }
        if (artifactType == Artifact.SourceType) {
          sourceArtifacts += f
        }
      }

    ModuleData(
      moduleId,
      classpathArtifacts.toSet,
      docArtifacts.toSet,
      sourceArtifacts.toSet
    )
  }