private def settingInConfiguration[T]()

in extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala [264:292]


  private def settingInConfiguration[T](
    key: SettingKey[Seq[T]]
  )(implicit projectRef: ProjectRef, state: State) =
    (conf: sbt.Configuration) =>
      key.in(projectRef, conf).getOrElse(state, Seq.empty)

  private def taskInCompile[T](key: TaskKey[T])(implicit projectRef: ProjectRef,
                                                state: State) =
    key.in(projectRef, Compile).get(state)

  private def taskInConfig[T](key: TaskKey[T], config: SbtConfiguration)
    (implicit projectRef: ProjectRef, state: State) =
    key.in(projectRef, config).get(state)

  private def generateManagedSourcesTaskDef: Initialize[Task[Seq[File]]] = Def.taskDyn {
    val name = Keys.name.in(Compile).value
    val log = Keys.streams.value.log
    val hasGenerators = Keys.sourceGenerators.in(Compile).value.nonEmpty || Keys.sourceGenerators.in(Test).value.nonEmpty
    if (hasGenerators) {
      log.info(s"Generating managed sources in $name / Compile, $name / Test...")
      Def.task {
        val inCompile = Keys.managedSources.in(Compile).value
        val inTest = Keys.managedSources.in(Test).value
        inCompile ++ inTest
      }
    } else {
      Def.task[Seq[File]](Seq.empty)
    }
  }