diff --git a/build.sbt b/build.sbt index 2f2cb6553..2a16a7065 100644 --- a/build.sbt +++ b/build.sbt @@ -391,6 +391,8 @@ lazy val mainProj = (project in file("main")) exclude[DirectMissingMethodProblem]("sbt.internal.KeyIndex.*"), // Removed unused val. internal. exclude[DirectMissingMethodProblem]("sbt.internal.RelayAppender.jsonFormat"), + // Removed unused def. internal. + exclude[DirectMissingMethodProblem]("sbt.internal.Load.isProjectThis"), ) ) .configure( diff --git a/main-settings/src/main/scala/sbt/Scope.scala b/main-settings/src/main/scala/sbt/Scope.scala index edfeb4826..34815405a 100644 --- a/main-settings/src/main/scala/sbt/Scope.scala +++ b/main-settings/src/main/scala/sbt/Scope.scala @@ -97,8 +97,7 @@ object Scope { case LocalProject(id) => ProjectRef(current, id) case RootProject(uri) => RootProject(resolveBuild(current, uri)) case ProjectRef(uri, id) => ProjectRef(resolveBuild(current, uri), id) - case ThisProject => - RootProject(current) // Is this right? It was an inexhaustive match before.. + case ThisProject => ThisProject // haven't exactly "resolved" anything.. } def resolveBuild(current: URI, uri: URI): URI = if (!uri.isAbsolute && current.isOpaque && uri.getSchemeSpecificPart == ".") @@ -118,13 +117,11 @@ object Scope { rootProject: URI => String, ref: ProjectReference): ProjectRef = ref match { - case LocalRootProject => ProjectRef(current, rootProject(current)) - case LocalProject(id) => ProjectRef(current, id) - case RootProject(uri) => - val res = resolveBuild(current, uri); ProjectRef(res, rootProject(res)) + case LocalRootProject => ProjectRef(current, rootProject(current)) + case LocalProject(id) => ProjectRef(current, id) + case RootProject(uri) => val u = resolveBuild(current, uri); ProjectRef(u, rootProject(u)) case ProjectRef(uri, id) => ProjectRef(resolveBuild(current, uri), id) - case ThisProject => - ProjectRef(current, rootProject(current)) // Is this right? It was an inexhaustive match before.. + case ThisProject => sys.error("Cannot resolve ThisProject w/o the current project") } def resolveBuildRef(current: URI, ref: BuildReference): BuildRef = ref match { diff --git a/main/src/main/scala/sbt/internal/Load.scala b/main/src/main/scala/sbt/internal/Load.scala index e0ac0b6f8..b10235eac 100755 --- a/main/src/main/scala/sbt/internal/Load.scala +++ b/main/src/main/scala/sbt/internal/Load.scala @@ -363,12 +363,6 @@ private[sbt] object Load { ) } - def isProjectThis(s: Setting[_]): Boolean = - s.key.scope.project match { - case This | Select(ThisProject) => true - case _ => false - } - def buildConfigurations( loaded: LoadedBuild, rootProject: URI => String,