mirror of https://github.com/sbt/sbt.git
warn when reload discards session settings
This commit is contained in:
parent
5b1ca2c6b0
commit
205a67e4a3
|
|
@ -137,6 +137,7 @@ object Project extends Init[Scope] with ProjectExtra
|
||||||
|
|
||||||
def setProject(session: SessionSettings, structure: BuildStructure, s: State): State =
|
def setProject(session: SessionSettings, structure: BuildStructure, s: State): State =
|
||||||
{
|
{
|
||||||
|
SessionSettings.checkSession(session, s)
|
||||||
val previousOnUnload = orIdentity(s get Keys.onUnload.key)
|
val previousOnUnload = orIdentity(s get Keys.onUnload.key)
|
||||||
val unloaded = previousOnUnload(s.runExitHooks())
|
val unloaded = previousOnUnload(s.runExitHooks())
|
||||||
val (onLoad, onUnload) = getHooks(structure.data)
|
val (onLoad, onUnload) = getHooks(structure.data)
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,14 @@ object SessionSettings
|
||||||
else
|
else
|
||||||
f(session)
|
f(session)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def pluralize(size: Int, of: String) = size.toString + (if(size == 1) of else (of + "s"))
|
||||||
|
def checkSession(newSession: SessionSettings, oldState: State)
|
||||||
|
{
|
||||||
|
val oldSettings = (oldState get Keys.sessionSettings).toList.flatMap(_.append).flatMap(_._2)
|
||||||
|
if(newSession.append.isEmpty && !oldSettings.isEmpty)
|
||||||
|
logger(oldState).warn("Discarding " + pluralize(oldSettings.size, " session setting") + ". Use 'session save' to persist session settings.")
|
||||||
|
}
|
||||||
def removeRanges[T](in: Seq[T], ranges: Seq[(Int,Int)]): Seq[T] =
|
def removeRanges[T](in: Seq[T], ranges: Seq[(Int,Int)]): Seq[T] =
|
||||||
{
|
{
|
||||||
val asSet = (Set.empty[Int] /: ranges) { case (s, (hi,lo)) => s ++ (hi to lo) }
|
val asSet = (Set.empty[Int] /: ranges) { case (s, (hi,lo)) => s ++ (hi to lo) }
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue