override def resolve()

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