in extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala [409:423]
private def retrieveTransitiveProjectDependencies(
projectRef: ProjectRef,
config: sbt.Configuration,
settings: SbtSettings,
buildDependencies: BuildDependencies,
projectToConfigurations: Map[ProjectRef, ProjectConfigurations]
): Seq[ProjectDependency] = {
val allDependencies = Classpaths.interSort(projectRef, config, settings, buildDependencies)
val dependenciesWithoutProjectItself = allDependencies
// note: removing dependencies to the origin project itself (when prod/test sources are separated prod part is always added to the test part in #getTransitiveDependenciesForProjectProdTestSources)
// and projects with configurations that do not have sources e.g. provided
.filter { case(project, config) => project != projectRef && isProjectDependencyInSourceConfiguration(project, config, projectToConfigurations) }
dependenciesWithoutProjectItself.map(ProjectDependency.apply)
}