mirror of https://github.com/sbt/sbt.git
minor rearranging of rootProject
This commit is contained in:
parent
6e1c41af64
commit
d7a35e8e1d
|
|
@ -492,6 +492,7 @@ object Load
|
|||
|
||||
final class BuildStructure(val units: Map[URI, LoadedBuildUnit], val root: URI, val settings: Seq[Setting[_]], val data: Settings[Scope], val index: StructureIndex, val streams: Streams, val delegates: Scope => Seq[Scope], val scopeLocal: ScopeLocal)
|
||||
{
|
||||
val rootProject: URI => String = Load getRootProject units
|
||||
def allProjects: Seq[ResolvedProject] = units.values.flatMap(_.defined.values).toSeq
|
||||
def allProjects(build: URI): Seq[ResolvedProject] = units(build).defined.values.toSeq
|
||||
def allProjectRefs: Seq[ProjectRef] = units.toSeq flatMap { case (build, unit) => refs(build, unit.defined.values.toSeq) }
|
||||
|
|
|
|||
|
|
@ -60,8 +60,9 @@ sealed trait Project extends ProjectDefinition[ProjectReference]
|
|||
}
|
||||
sealed trait ResolvedProject extends ProjectDefinition[ProjectRef]
|
||||
|
||||
final case class Extracted(structure: BuildStructure, session: SessionSettings, currentRef: ProjectRef, rootProject: URI => String)
|
||||
final case class Extracted(structure: BuildStructure, session: SessionSettings, currentRef: ProjectRef)
|
||||
{
|
||||
def rootProject = structure.rootProject
|
||||
lazy val currentUnit = structure units currentRef.build
|
||||
lazy val currentProject = currentUnit defined currentRef.project
|
||||
def get[T](key: ScopedTask[T]): Task[T] = get(key.task)
|
||||
|
|
@ -128,7 +129,7 @@ object Project extends Init[Scope] with ProjectExtra
|
|||
def session(state: State): SessionSettings = getOrError(state, sessionSettings, "Session not initialized.")
|
||||
|
||||
def extract(state: State): Extracted = extract( session(state), structure(state) )
|
||||
def extract(se: SessionSettings, st: BuildStructure): Extracted = Extracted(st, se, se.current, Load.getRootProject(st.units))
|
||||
def extract(se: SessionSettings, st: BuildStructure): Extracted = Extracted(st, se, se.current)
|
||||
|
||||
def getProjectForReference(ref: Reference, structure: BuildStructure): Option[ResolvedProject] =
|
||||
ref match { case pr: ProjectRef => getProject(pr, structure); case _ => None }
|
||||
|
|
|
|||
Loading…
Reference in New Issue