in ideaSupport/src/main/scala/org/jetbrains/sbtidea/download/plugin/PluginResolver.scala [20:49]
override def resolve(pluginDependency: PluginDependency): Seq[PluginArtifact] = {
val plugin = pluginDependency.plugin
val pluginDescriptorAndArtifact: PluginDescriptorAndArtifactResolveResult =
if (processedPlugins.contains(plugin)) {
log.warn(s"Circular plugin dependency detected: $pluginDependency already processed")
Left(Nil)
}
else if (localRegistry.isPluginInstalled(plugin))
resolveInstalledPluginPlugin(pluginDependency)
else plugin match {
case key: IntellijPlugin.WithKnownId =>
resolvePluginById(pluginDependency, key)
case key: IntellijPlugin.BundledFolder =>
Left(Seq(s"Cannot find bundled plugin root for folder name: ${key.name}"))
}
pluginDescriptorAndArtifact match {
case Right((descriptor, artifact)) =>
val resolvedDeps =
if (resolveSettings.transitive)
resolveDependencies(pluginDependency, plugin, descriptor)
else
Seq.empty
artifact +: resolvedDeps
case Left(errorMessages) =>
errorMessages.foreach(log.error(_))
Seq.empty
}
}