minor rearranging of rootProject

This commit is contained in:
Mark Harrah 2011-07-06 07:30:47 -04:00
parent 6e1c41af64
commit d7a35e8e1d
2 changed files with 4 additions and 2 deletions

View File

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

View File

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