SystemStreamsUtils

mill.api.SystemStreamsUtils
@Scaladoc(value = "/**\n * Utilities for managing and redirecting the [[SystemStreams]] modelling\n * the stdin/stdout/stderr of the process\n */")

Utilities for managing and redirecting the SystemStreams modelling the stdin/stdout/stderr of the process

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def withStreams[T](systemStreams: SystemStreams)(t: => T): T
@Scaladoc(value = "/**\n * Manages the global override of `System.{in,out,err}`. Overrides of those streams are\n * global, so we cannot just override them per-use-site in a multithreaded environment\n * because different threads may interleave and stomp over each other\'s over-writes.\n * Instead, we over-write them globally with a set of streams that does nothing but\n * forward to the per-thread [[ThreadLocalStreams.current]] streams, allowing callers\n * to each reach their own thread-local streams without clashing across multiple threads\n */")
def withTopLevelSystemStreamProxy[T](t: => T): T

Manages the global override of System.{in,out,err}. Overrides of those streams are global, so we cannot just override them per-use-site in a multithreaded environment because different threads may interleave and stomp over each other's over-writes. Instead, we over-write them globally with a set of streams that does nothing but forward to the per-thread ThreadLocalStreams.current streams, allowing callers to each reach their own thread-local streams without clashing across multiple threads

Manages the global override of System.{in,out,err}. Overrides of those streams are global, so we cannot just override them per-use-site in a multithreaded environment because different threads may interleave and stomp over each other's over-writes. Instead, we over-write them globally with a set of streams that does nothing but forward to the per-thread ThreadLocalStreams.current streams, allowing callers to each reach their own thread-local streams without clashing across multiple threads

Attributes