private def getDependencies[T, F]()

in extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala [123:139]


  private def getDependencies[T, F](fn: SbtConfiguration => Seq[T])(mapToTargetType: ((T, Seq[Configuration])) => F): Dependencies[F] = {
    val prodDependencyToConfigs = forProductionConfigurations(fn)
    val testDependencyToConfigs = forTestConfigurations(fn)

    val testDependencies = testDependencyToConfigs.map { case (dependency, _) =>
      // If a dependency is present in any test configuration, we can immediately set its configuration to compile.
      //This is because, in test scopes, sbt does not recognize other scopes, such as `Runtime` or `Provided`.
      mapToTargetType(dependency, Seq(Configuration.Compile))
    }

    val productionDependencies = prodDependencyToConfigs.map { case (dependency, configs) =>
      val mapped = mapProductionConfigurations(configs)
      mapToTargetType(dependency, mapped)
    }

    Dependencies(productionDependencies, testDependencies)
  }