in ideaSupport/src/main/scala/org/jetbrains/sbtidea/Init.scala [23:55]
private def isRunningFromIDEA: Boolean = sys.props.contains("idea.managed")
lazy val globalSettings : Seq[Setting[?]] = Seq(
intellijAttachSources := true
)
lazy val buildSettings: Seq[Setting[?]] = Seq(
intellijPluginName := name.in(LocalRootProject).value,
intellijBuild := BuildInfo.LATEST_EAP_SNAPSHOT,
intellijPlatform := IntelliJPlatform.IdeaCommunity,
intellijBuildInfo := BuildInfo(intellijBuild.value, intellijPlatform.value),
jbrInfo := AutoJbr(),
intellijPluginDirectory := homePrefix / s".${intellijPluginName.value.removeSpaces}Plugin${intellijPlatform.value.edition}",
intellijTestConfigDir := intellijPluginDirectory.value / "test-config",
intellijTestSystemDir := intellijPluginDirectory.value / "test-system",
intellijBaseDirectory := intellijPluginDirectory.value / "sdk" / intellijBuild.value,
artifactsDownloadsDir := intellijPluginDirectory.value / "sdk" / "downloads",
autoRemoveOldCachedIntelliJSDK := false,
autoRemoveOldCachedDownloads := false,
concurrentRestrictions in Global += Tags.limit(Tags.Test, 1), // IDEA tests can't be run in parallel
bundleScalaLibrary := !hasPluginsWithScala(intellijPlugins.?.all(ScopeFilter(inAnyProject)).value.flatten.flatten),
doProjectSetup := Def.taskDyn {
if (!updateFinished && isRunningFromIDEA) Def.sequential(
updateIntellij,
Def.task {
println("Detected IDEA, artifacts and run configurations have been generated")
createIDEAArtifactXml.?.all(ScopeFilter(inProjects(LocalRootProject))).value.flatten
createIDEARunConfiguration.?.all(ScopeFilter(inProjects(LocalRootProject))).value
updateFinished = true
}) else if (!updateFinished && !isRunningFromIDEA) Def.task {
updateIntellij.value
} else Def.task { }
}.value,