in extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/RepositoryExtractor.scala [45:60]
private def allClasspathTypes: Set[String] = projects.map(classpathTypes).reduce((a, b) => a.union(b))
private def fixModulesIdsToSupportClassifiers(modules: Seq[ModuleReportAdapter]): Seq[ModuleReportAdapter] =
modules.map(r => r.copy(moduleId = r.moduleId.artifacts(r.artifacts.map(_._1):_*)))
private def groupByModuleIdentifiers(modules: Seq[ModuleReportAdapter]): mutable.LinkedHashMap[ModuleIdentifier, Seq[ModuleReportAdapter]] = {
val modulesWithIds = modules.flatMap { module =>
createModuleIdentifiers(module.moduleId, module.artifacts.map(_._1)).map(id => (module, id))
}
val result = mutable.LinkedHashMap.empty[ModuleIdentifier, Seq[ModuleReportAdapter]]
modulesWithIds.foreach { case (adapter, identifier) =>
val adapters = result.getOrElse(identifier, Seq.empty)
result(identifier) = adapters :+ adapter
}
result
}