mirror of https://github.com/sbt/sbt.git
Merge pull request #5148 from eatkins/supershell-console
Clear supershell lines before suppressed task
This commit is contained in:
commit
22a6ff5d57
|
|
@ -57,6 +57,10 @@ private[sbt] final class TaskProgress(log: ManagedLogger)
|
||||||
ConsoleAppender.setTerminalWidth(JLine.terminal.getWidth)
|
ConsoleAppender.setTerminalWidth(JLine.terminal.getWidth)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override def beforeWork(task: Task[_]): Unit = {
|
||||||
|
super.beforeWork(task)
|
||||||
|
if (containsSkipTasks(Vector(task)) || lastTaskCount.get == 0) report()
|
||||||
|
}
|
||||||
override def afterReady(task: Task[_]): Unit = ()
|
override def afterReady(task: Task[_]): Unit = ()
|
||||||
|
|
||||||
override def afterCompleted[A](task: Task[A], result: Result[A]): Unit = ()
|
override def afterCompleted[A](task: Task[A], result: Result[A]): Unit = ()
|
||||||
|
|
@ -76,10 +80,10 @@ private[sbt] final class TaskProgress(log: ManagedLogger)
|
||||||
val currentTasks = activeTasks.toVector.filterNot(Def.isDummy)
|
val currentTasks = activeTasks.toVector.filterNot(Def.isDummy)
|
||||||
val ltc = lastTaskCount.get
|
val ltc = lastTaskCount.get
|
||||||
val currentTasksCount = currentTasks.size
|
val currentTasksCount = currentTasks.size
|
||||||
def report0(): Unit = {
|
def report0(tasks: Vector[Task[_]]): Unit = {
|
||||||
val event = ProgressEvent(
|
val event = ProgressEvent(
|
||||||
"Info",
|
"Info",
|
||||||
currentTasks
|
tasks
|
||||||
.map { task =>
|
.map { task =>
|
||||||
val elapsed = timings.get(task).currentElapsedMicros
|
val elapsed = timings.get(task).currentElapsedMicros
|
||||||
ProgressItem(taskName(task), elapsed)
|
ProgressItem(taskName(task), elapsed)
|
||||||
|
|
@ -92,9 +96,15 @@ private[sbt] final class TaskProgress(log: ManagedLogger)
|
||||||
import sbt.internal.util.codec.JsonProtocol._
|
import sbt.internal.util.codec.JsonProtocol._
|
||||||
log.logEvent(Level.Info, event)
|
log.logEvent(Level.Info, event)
|
||||||
}
|
}
|
||||||
if (containsSkipTasks(currentTasks)) ()
|
if (containsSkipTasks(currentTasks)) {
|
||||||
else report0()
|
if (ltc > 0) {
|
||||||
lastTaskCount.set(currentTasksCount)
|
lastTaskCount.set(0)
|
||||||
|
report0(Vector.empty)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
lastTaskCount.set(currentTasksCount)
|
||||||
|
report0(currentTasks)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private[this] def containsSkipTasks(tasks: Vector[Task[_]]): Boolean =
|
private[this] def containsSkipTasks(tasks: Vector[Task[_]]): Boolean =
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue