mirror of https://github.com/sbt/sbt.git
Include the key name in the streams backing file path to avoid collisions.
This commit is contained in:
parent
a677448a6c
commit
5d49fcbe78
|
|
@ -76,7 +76,7 @@ object BuildStreams
|
|||
|
||||
def mkStreams(units: Map[URI, LoadedBuildUnit], root: URI, data: Settings[Scope]): State => Streams = s =>
|
||||
s get Keys.stateStreams getOrElse std.Streams( path(units, root, data), displayFull, LogManager.construct(data, s) )
|
||||
|
||||
|
||||
def path(units: Map[URI, LoadedBuildUnit], root: URI, data: Settings[Scope])(scoped: ScopedKey[_]): File =
|
||||
resolvePath( projectPath(units, root, scoped, data), nonProjectPath(scoped) )
|
||||
|
||||
|
|
@ -96,6 +96,7 @@ object BuildStreams
|
|||
pathComponent(scope.config, scoped, "config")(_.name) ::
|
||||
pathComponent(scope.task, scoped, "task")(_.label) ::
|
||||
pathComponent(scope.extra, scoped, "extra")(showAMap) ::
|
||||
scoped.key.label ::
|
||||
Nil
|
||||
}
|
||||
def showAMap(a: AttributeMap): String =
|
||||
|
|
@ -109,7 +110,7 @@ object BuildStreams
|
|||
case Select(pr) => sys.error("Unresolved project reference (" + pr + ") in " + displayFull(scoped))
|
||||
case This => sys.error("Unresolved project reference (This) in " + displayFull(scoped))
|
||||
}
|
||||
|
||||
|
||||
def refTarget(ref: ResolvedReference, fallbackBase: File, data: Settings[Scope]): File =
|
||||
refTarget(GlobalScope.copy(project = Select(ref)), fallbackBase, data)
|
||||
def refTarget(scope: Scope, fallbackBase: File, data: Settings[Scope]): File =
|
||||
|
|
|
|||
|
|
@ -11,13 +11,13 @@ object MyBuild extends Build
|
|||
val persisted = TaskKey[Int]("persist")
|
||||
val checkKeep = InputKey[Unit]("check-keep")
|
||||
val checkPersisted = InputKey[Unit]("check-persist")
|
||||
|
||||
|
||||
val updateDemo = TaskKey[Int]("demo")
|
||||
val check = InputKey[Unit]("check")
|
||||
val sample = AttributeKey[Int]("demo-key")
|
||||
|
||||
def updateDemoInit = state map { s => (s get sample getOrElse 9) + 1 }
|
||||
|
||||
|
||||
lazy val root = Project("root", file(".")) settings(
|
||||
updateDemo <<= updateDemoInit updateState demoState,
|
||||
check <<= checkInit,
|
||||
|
|
@ -37,7 +37,7 @@ object MyBuild extends Build
|
|||
}
|
||||
|
||||
def inMemorySetting = keep <<= getPrevious(keep) map { case None => 3; case Some(x) => x + 1} keepAs(keep)
|
||||
def persistedSetting = persisted <<= loadPrevious(persisted) map { case None => 17; case Some(x) => x + 1} storeAs(keep)
|
||||
def persistedSetting = persisted <<= loadPrevious(persisted) map { case None => 17; case Some(x) => x + 1} storeAs(persisted)
|
||||
|
||||
def inMemoryCheck = checkKeep <<= inputCheck( (ctx, s) => Space ~> str(getFromContext(keep, ctx, s)) )
|
||||
def persistedCheck = checkPersisted <<= inputCheck( (ctx, s) => Space ~> str(loadFromContext(persisted, ctx, s)) )
|
||||
|
|
|
|||
Loading…
Reference in New Issue