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