in extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala [311:344]
private def settingInConfiguration[T](
key: SettingKey[scala.collection.immutable.Seq[T]]
)(implicit projectRef: ProjectRef, state: State): SbtConfiguration => scala.collection.immutable.Seq[T] =
(conf: sbt.Configuration) =>
(projectRef / conf / key).getValueOrElse(state, scala.collection.immutable.Seq.empty)
private def settingInConfiguration[T](
key: SettingKey[scala.collection.Seq[T]]
)(implicit projectRef: ProjectRef, state: State, d: DummyImplicit): SbtConfiguration => scala.collection.Seq[T] =
(conf: sbt.Configuration) =>
(projectRef / conf / key).getValueOrElse(state, scala.collection.Seq.empty)
private def taskInCompile[T](key: TaskKey[T])(implicit projectRef: ProjectRef, state: State) =
(projectRef / Compile / key).get(state)
private def taskInConfig[T](key: TaskKey[T], config: SbtConfiguration)
(implicit projectRef: ProjectRef, state: State) =
(projectRef / config / key).get(state)
private def generateManagedSourcesTaskDef: Initialize[Task[Seq[File]]] = Def.taskDyn {
val name = (Compile / Keys.name).value
val log = Keys.streams.value.log
val hasGenerators = (Compile / Keys.sourceGenerators).value.nonEmpty || (Test / Keys.sourceGenerators).value.nonEmpty
if (hasGenerators) {
log.info(s"Generating managed sources in $name / Compile, $name / Test...")
Def.task {
val inCompile = (Compile / Keys.managedSources).value
val inTest = (Test / Keys.managedSources).value
inCompile ++ inTest
}
} else {
Def.task[Seq[File]](Seq.empty)
}
}