mirror of https://github.com/sbt/sbt.git
add new ProjectReference called LocalRootProject for referencing the root project in the current build
This commit is contained in:
parent
e5fbfdd3c1
commit
18a3e7995e
|
|
@ -176,14 +176,15 @@ object Project extends Init[Scope] with ProjectExtra
|
|||
def display(ref: BuildReference) =
|
||||
ref match
|
||||
{
|
||||
case ThisBuild => "<this>"
|
||||
case ThisBuild => "{<this>}"
|
||||
case BuildRef(uri) => "{" + uri + "}"
|
||||
}
|
||||
def display(ref: ProjectReference) =
|
||||
ref match
|
||||
{
|
||||
case ThisProject => "(<this>)<this>"
|
||||
case LocalProject(id) => "(<this>)" + id
|
||||
case ThisProject => "{<this>}<this>"
|
||||
case LocalRootProject => "{<this>}<root>"
|
||||
case LocalProject(id) => "{<this>}" + id
|
||||
case RootProject(uri) => "{" + uri + " }<root>"
|
||||
case ProjectRef(uri, id) => "{" + uri + "}" + id
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ sealed trait ProjectReference extends Reference
|
|||
final case class ProjectRef(build: URI, project: String) extends ProjectReference with ResolvedReference
|
||||
final case class LocalProject(project: String) extends ProjectReference
|
||||
final case class RootProject(build: URI) extends ProjectReference
|
||||
final case object LocalRootProject extends ProjectReference
|
||||
final case object ThisProject extends ProjectReference
|
||||
|
||||
object ProjectRef
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ object Scope
|
|||
ref match
|
||||
{
|
||||
case ThisProject => RootProject(current)
|
||||
case LocalRootProject => RootProject(current)
|
||||
case LocalProject(id) => ProjectRef(current, id)
|
||||
case RootProject(uri) => RootProject(resolveBuild(current, uri))
|
||||
case ProjectRef(uri, id) => ProjectRef(resolveBuild(current, uri), id)
|
||||
|
|
@ -75,7 +76,7 @@ object Scope
|
|||
def resolveProjectRef(current: URI, rootProject: URI => String, ref: ProjectReference): ProjectRef =
|
||||
ref match
|
||||
{
|
||||
case ThisProject => ProjectRef(current, rootProject(current))
|
||||
case ThisProject | LocalRootProject => ProjectRef(current, rootProject(current))
|
||||
case LocalProject(id) => ProjectRef(current, id)
|
||||
case RootProject(uri) => val res = resolveBuild(current, uri); ProjectRef(res, rootProject(res))
|
||||
case ProjectRef(uri, id) => ProjectRef(resolveBuild(current, uri), id)
|
||||
|
|
|
|||
Loading…
Reference in New Issue