From d7a35e8e1d54461e7761ae32584b553089f09320 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Wed, 6 Jul 2011 07:30:47 -0400 Subject: [PATCH] minor rearranging of rootProject --- main/Load.scala | 1 + main/Project.scala | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/main/Load.scala b/main/Load.scala index 9276f9192..3f1369489 100644 --- a/main/Load.scala +++ b/main/Load.scala @@ -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) } diff --git a/main/Project.scala b/main/Project.scala index bfe528295..a1098fc5a 100644 --- a/main/Project.scala +++ b/main/Project.scala @@ -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 }